[Bug c++/40948] New: ICE in lower_stmt, at gimple-low.c:408
testclass.cpp: In constructor #8216;TestClass::TestClass()#8217;: testclass.cpp:13: internal compiler error: in lower_stmt, at gimple-low.c:408 Please tell me if you need more information. The error vanishes if the definition of TestClass::TestClass() is moved into the declaration of TestClass. Version: gcc (Gentoo 4.4.1 p1.0) 4.4.1 -- Summary: ICE in lower_stmt, at gimple-low.c:408 Product: gcc Version: 4.4.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: lindevel at gmx dot net GCC build triplet: x86_64-pc-linux-gnu GCC host triplet: x86_64-pc-linux-gnu GCC target triplet: x86_64-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40948
[Bug c++/40948] ICE in lower_stmt, at gimple-low.c:408
--- Comment #1 from lindevel at gmx dot net 2009-08-03 09:17 --- Created an attachment (id=18286) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18286action=view) TestClass source -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40948
[Bug c++/40948] ICE in lower_stmt, at gimple-low.c:408
--- Comment #2 from lindevel at gmx dot net 2009-08-03 09:21 --- Created an attachment (id=18287) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18287action=view) TestClass preprocessed source (compressed) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40948
[Bug bootstrap/33992] Building libstdc++-v3: include/limits: stray '\275' in program
--- Comment #5 from lindevel at gmx dot net 2007-11-09 09:50 --- The problem (stray characters in include/limits) persists after I rebuilt the whole system to wipe out any leftovers from previous attempts at vectorisation and hidden inlines. Setting LANG and LC_ALL also didn't help. It seems as if the file itself is wrong... -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33992
[Bug bootstrap/33992] Building libstdc++-v3: include/limits: stray '\275' in program
--- Comment #4 from lindevel at gmx dot net 2007-11-04 11:47 --- Created an attachment (id=14482) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14482action=view) build.log ICE Building without setting CFLAGS or CXXFLAGS results in an ICE: /var/tmp/portage/sys-devel/gcc-4.3.0_pre20071103/work/gcc-4.3.0-20071103/libiberty/hashtab.c: In function #8216;htab_expand#8217;: /var/tmp/portage/sys-devel/gcc-4.3.0_pre20071103/work/gcc-4.3.0-20071103/libiberty/hashtab.c:554: internal compiler error: Segmentation fault -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33992
[Bug bootstrap/33992] New: Building libstdc++-v3: include/limits: stray #8216;\275#8217; in program
Hello! I am trying to build gcc-4.3 svn since a few days, using dirtyepic's Gentoo ebuild. I am always getting this error: /var/tmp/portage/sys-devel/gcc-4.3.0_pre20071028/work/build/./gcc/xgcc -shared-libgcc -B/var/tmp/portage/sys-devel/gcc-4.3.0_pre20071028/work/build/./gcc -nostdinc++ -L/var/tmp/portage/sys-devel/gcc-4.3.0_pre20071028/work/build/x86_64-pc-linux-gnu/libstdc++-v3/src -L/var/tmp/portage/sys-devel/gcc-4.3.0_pre20071028/work/build/x86_64-pc-linux-gnu/libstdc++-v3/src/.libs -B/usr/x86_64-pc-linux-gnu/bin/ -B/usr/x86_64-pc-linux-gnu/lib/ -isystem /usr/x86_64-pc-linux-gnu/include -isystem /usr/x86_64-pc-linux-gnu/sys-include -Winvalid-pch -x c++-header -pipe -O2 -march=athlon64 -D_GNU_SOURCE -I/var/tmp/portage/sys-devel/gcc-4.3.0_pre20071028/work/build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu -I/var/tmp/portage/sys-devel/gcc-4.3.0_pre20071028/work/build/x86_64-pc-linux-gnu/libstdc++-v3/include -I/var/tmp/portage/sys-devel/gcc-4.3.0_pre20071028/work/gcc-4.3.0-20071028/libstdc++-v3/libsupc++ -O0 -g /var/tmp/portage/sys-devel/gcc-4.3.0_pre20071028/work/gcc-4.3.0-20071028/libstdc++-v3/include/precompiled/stdc++.h -o x86_64-pc-linux-gnu/bits/stdc++.h.gch/O0g.gch In file included from /var/tmp/portage/sys-devel/gcc-4.3.0_pre20071028/work/gcc-4.3.0-20071028/libstdc++-v3/include/precompiled/stdc++.h:68: /var/tmp/portage/sys-devel/gcc-4.3.0_pre20071028/work/build/x86_64-pc-linux-gnu/libstdc++-v3/include/limits:1047: error: stray #8216;\275#8217; in program /var/tmp/portage/sys-devel/gcc-4.3.0_pre20071028/work/build/x86_64-pc-linux-gnu/libstdc++-v3/include/limits:1079: error: stray #8216;\230#8217; in program /var/tmp/portage/sys-devel/gcc-4.3.0_pre20071028/work/build/x86_64-pc-linux-gnu/libstdc++-v3/include/limits:1104: error: stray #8216;\232#8217; in program make[4]: *** [x86_64-pc-linux-gnu/bits/stdc++.h.gch/O0g.gch] Error 1 make[4]: Leaving directory `/var/tmp/portage/sys-devel/gcc-4.3.0_pre20071028/work/build/x86_64-pc-linux-gnu/libstdc++-v3/include' emerge --info, striped from probably useless Gentoo-stuff: Portage 2.1.3.17 (default-linux/amd64/2007.0/desktop, gcc-4.2.2, glibc-2.6.1-r0, 2.6.23-gentoo x86_64) = System uname: 2.6.23-gentoo x86_64 AMD Athlon(tm) 64 X2 Dual Core Processor 5000+ Timestamp of tree: Sun, 04 Nov 2007 00:50:01 + app-shells/bash: 3.2_p17-r1 dev-java/java-config: 1.3.7, 2.1.2-r1 dev-lang/python: 2.5.1-r3 dev-python/pycrypto: 2.0.1-r6 sys-apps/baselayout: 1.12.10-r5 sys-apps/sandbox:1.2.18.1-r2 sys-devel/autoconf: 2.13, 2.61-r1 sys-devel/automake: 1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10 sys-devel/binutils: 2.18-r1 sys-devel/gcc-config: 1.4.0-r4 sys-devel/libtool: 1.5.24 virtual/os-headers: 2.6.23 ACCEPT_KEYWORDS=amd64 ~amd64 CBUILD=x86_64-pc-linux-gnu CFLAGS=-pipe -O2 -march=athlon64 CHOST=x86_64-pc-linux-gnu CXXFLAGS=-pipe -O2 -march=athlon64 -fvisibility-inlines-hidden LANG=en_GB.UTF-8 LC_ALL=en_GB.UTF-8 LDFLAGS=-Wl,--hash-style=gnu LINGUAS=de MAKEOPTS=-j3 Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS What could have caused the stray characters to appear in the file? Or why doesn't anyone else seem to nice them as an error? -- Summary: Building libstdc++-v3: include/limits: stray #8216;\275#8217; in program Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: bootstrap AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: lindevel at gmx dot net http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33992
[Bug bootstrap/33992] Building libstdc++-v3: include/limits: stray '\275' in program
--- Comment #1 from lindevel at gmx dot net 2007-11-04 01:38 --- (Make summary less cryptic) -- lindevel at gmx dot net changed: What|Removed |Added Summary|Building libstdc++-v3: |Building libstdc++-v3: |include/limits: stray |include/limits: stray '\275' |#8216;\275#8217; in |in program |program | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33992
[Bug bootstrap/33992] Building libstdc++-v3: include/limits: stray '\275' in program
--- Comment #2 from lindevel at gmx dot net 2007-11-04 02:02 --- Created an attachment (id=14481) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14481action=view) build.log -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33992
[Bug c++/28943] New: Unusable error message when using a conditional-expression with multiple type arguments
When I use a conditional-expression(?:) with arguments whose type is not matching, g++ gives an error message not telling me exactly what the problem is. Commandline: g++ assert_testcase.cpp Output: assert_testcase.cpp: In function #8216;int main()#8217;: assert_testcase.cpp:16: error: #8216;debug(((const char*)Some string))#8217; has type #8216;void#8217; and is not a throw-expression For this code (assert_testcase.cpp): #include stdio.h void debug( const char * string ) { printf( string ); } int main() { ( true == false ? 0 : debug( Some string ) ); return 0; } Changing ( true == false ? 0 : debug( Some string ) ) to ( true == false ? (void)0 : debug( Some string ) ) silences the error message. And that has been found out after about a week of own research in our project and then asking in ##c++ on FreeNode, because no one had a clue what it could mean. (And even ##c++ needed several hours to find that out.) So I think that error message is unusable because it is not clear about what exactly the problem is. Better would be IMHO something like 0 is of different type than debug(...). Other info: i686-pc-linux-gnu-g++ (GCC) 4.1.1 (Gentoo 4.1.1) Preprocessed file (assert_testcase.ii) will be attached. I can provide more information if you like. -- Summary: Unusable error message when using a conditional- expression with multiple type arguments Product: gcc Version: 4.1.1 Status: UNCONFIRMED Severity: trivial Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: lindevel at gmx dot net http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28943
[Bug c++/28943] Unusable error message when using a conditional-expression with multiple type arguments
--- Comment #1 from lindevel at gmx dot net 2006-09-03 19:35 --- Created an attachment (id=12181) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12181action=view) Testcase code -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28943
[Bug c++/28943] Unusable error message when using a conditional-expression with multiple type arguments
--- Comment #2 from lindevel at gmx dot net 2006-09-03 19:36 --- Created an attachment (id=12182) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12182action=view) Preprocessed testcase -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28943
[Bug c++/28943] Unusable error message when using a conditional-expression with multiple type arguments
--- Comment #4 from lindevel at gmx dot net 2006-09-03 20:08 --- You proved ##c++ wrong! They bet that I would be ignored. ;) The thing is that a void itself is not invalid. Using (expr ? void : void) works as you see in my report. In ##c++ I was told that ( x ? y : z ) wants both y and z to be of the same type. And that is stated in no way by the error message. And even if void would be invalid, the message doesn't tell me that. It just tells me Hey I found a void., but not that a void is invalid in a (?:). The connection to (?:) is not made. Instead it tells me something about a throw-expression. That might be a good message when you want to understand the internal code g++ uses to validate the expression, but for an end user it is not good. Perhaps we first should clear up what exactly the error is with that code. (I still don't know from the error message and you tell me something different than what I was told in ##c++. (Who also didn't know what that message could mean until someone said that the types don't match and g++ might be telling me how it found out.)) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28943
[Bug c++/28943] Unusable error message when using a conditional-expression with multiple type arguments
--- Comment #6 from lindevel at gmx dot net 2006-09-03 20:38 --- Perhaps the message should then be 0 (int) is of incompatible type to debug(...) (void) or similar? At least it should be more clear about the fact that the error is that both sides of the : need to be compatible (and are not). I though about all kinds of other things, but not of an incompatibility, because the error message tells me about void and throw expressions and not about the specs for (?:). Don't get me wrong, I don't want g++ to output a C++ beginners manual, but at least it should be clear from an error message where the error is, otherwise the message is useless. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28943