[Bug fortran/95366] New: TYPE IS(character(*)) no longer matches
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95366 Bug ID: 95366 Summary: TYPE IS(character(*)) no longer matches Product: gcc Version: 10.0 Status: UNCONFIRMED Keywords: wrong-code Severity: normal Priority: P3 Component: fortran Assignee: unassigned at gcc dot gnu.org Reporter: gcc at abeckmann dot de Target Milestone: --- Created attachment 48618 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48618=edit 2 modules and a main program that demonstrate the bug This is a regression in gfortran-10: in some cases SELECT TYPE (arg) TYPE IS(CHARACTER(*)) ... CLASS DEFAULT ... does not match a polymorphic (class(*)) argument as character but falls through to the class default, even though the subroutine was called with a character(len=42) argument. This bug seems require caller and callee residing in different modules (i.e. different compilation units). A test case is attached: gfortran-10 -W -Wall -Wextra -c -o mod1.o mod1.f90 gfortran-10 -W -Wall -Wextra -c -o mod2.o mod2.f90 gfortran-10 -W -Wall -Wextra -c -o main.o main.f90 gfortran-10 main.o mod1.o mod2.o ./a.out int unknown while building with gfortran-9 works: gfortran-9 -W -Wall -Wextra -c -o mod1.o mod1.f90 gfortran-9 -W -Wall -Wextra -c -o mod2.o mod2.f90 gfortran-9 -W -Wall -Wextra -c -o main.o main.f90 gfortran-9 main.o mod1.o mod2.o ./a.out int char I observed this with the Debian 10.1.0-2 build (corresponding to git as of 20200515) and I could confirm it with git master (6c8e16aea85286721eb5689f9bcae09d36003cb1).
[Bug fortran/94672] New: gfortran/OpenMP chokes on PRESENT(array) despite of SHARED(array): Error: ‘array’ not specified in enclosing ‘parallel’
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94672 Bug ID: 94672 Summary: gfortran/OpenMP chokes on PRESENT(array) despite of SHARED(array): Error: ‘array’ not specified in enclosing ‘parallel’ Product: gcc Version: 10.0 Status: UNCONFIRMED Keywords: openmp Severity: normal Priority: P3 Component: fortran Assignee: unassigned at gcc dot gnu.org Reporter: gcc at abeckmann dot de Target Milestone: --- Created attachment 48314 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48314=edit failing testcase This is a regression in gfortran-10 (reproduced in GNU Fortran (GCC) 10.0.1 20200420 (experimental) built from git master): gfortran-master -Wall -fopenmp -c gf10bug.f90 gf10bug.f90:10:0: 10 |IF (PRESENT(array)) THEN | Error: ‘array’ not specified in enclosing ‘parallel’ gf10bug.f90:10:0: Error: enclosing ‘parallel’ But 'array' *is* 'shared': !$OMP PARALLEL DO DEFAULT(none) SHARED(array,n) PRIVATE(i) DO i = 1,n IF (PRESENT(array)) THEN That code is accepted by gfortran <= 9, Flang, Intel, PGI.
[Bug inline-asm/78311] New: "register value used as expression" on i386 in inline assembly statement with "o" constraint
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78311 Bug ID: 78311 Summary: "register value used as expression" on i386 in inline assembly statement with "o" constraint Product: gcc Version: 6.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: inline-asm Assignee: unassigned at gcc dot gnu.org Reporter: gcc at abeckmann dot de Target Milestone: --- This is a regression from GCC 5 on i386. This code example has been minimized from uqm source which fails to build with gcc-6 (but succeeds with gcc-5): == 8< == extern unsigned int A [ 42 ] ; void f () { __asm__ ( "movd %0 (, %%edx, 4), %%mm0 \n\t" : : "o" (*A) : "%edx" ) ; } == >8 == $ gcc-5 -m32 -W -Wall -c constraint-o.c ; echo $? 0 $ gcc-6 -m32 -W -Wall -c constraint-o.c; echo $? constraint-o.c: Assembler messages: constraint-o.c:4: Error: register value used as expression 1 == assembly generated by gcc-5 -S == .globl f .type f, @function f: .LFB0: .cfi_startproc pushl %ebp .cfi_def_cfa_offset 8 .cfi_offset 5, -8 movl%esp, %ebp .cfi_def_cfa_register 5 #APP # 4 "constraint-o.c" 1 movd A (, %edx, 4), %mm0 # 0 "" 2 #NO_APP nop popl%ebp .cfi_restore 5 .cfi_def_cfa 4, 4 ret .cfi_endproc == == assembly generated by gcc-6 -S == .globl f .type f, @function f: .LFB0: .cfi_startproc pushl %ebp .cfi_def_cfa_offset 8 .cfi_offset 5, -8 movl%esp, %ebp .cfi_def_cfa_register 5 call__x86.get_pc_thunk.ax addl$_GLOBAL_OFFSET_TABLE_, %eax movlA@GOT(%eax), %eax #APP # 4 "constraint-o.c" 1 movd (%eax) (, %edx, 4), %mm0 # 0 "" 2 #NO_APP nop popl%ebp .cfi_restore 5 .cfi_def_cfa 4, 4 ret .cfi_endproc == $ gcc-6 --version gcc-6 (Debian 6.2.0-10) 6.2.0 20161027 $ gcc-5 --version gcc-5 (Debian 5.4.1-3) 5.4.1 20161019
[Bug c++/59960] New: accepts ill-formed 'auto a1 = t1, a2 = t2;' where t1 and t2 have different template types
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59960 Bug ID: 59960 Summary: accepts ill-formed 'auto a1 = t1, a2 = t2;' where t1 and t2 have different template types Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: gcc at abeckmann dot de The following code is accepted by g++ in c++11 mode (tested 4.7, 4.8, 4.9): = 8 = #include iostream #include typeinfo template typename T1, typename T2 void f(T1 t1, T2 t2) { auto a1 = t1, a2 = t2; std::cout typeid(a1).name() std::endl; std::cout typeid(a2).name() std::endl; } int main () { int i(23); double d(42.); f(i, d); } = 8 = the output id generates is - 8 - i d - 8 - But the standard says in [dcl.spec.auto] clause 7: If the list [...] contains more than one declarator, the type of each declared variable is determined as described above. If the type deduced [...] is not the same in each deduction, the program is ill-formed. clang fails compilation with auto2.cpp:7:2: error: 'auto' deduced as 'int' in declaration of 'a1' and deduced as 'double' in declaration of 'a2' auto a1 = t1, a2 = t2; ^ ~~ ~~
[Bug c++/56534] New: [4.7/4.8 Regression] ICE Segfault on invalid code in check_elaborated_type_specifier
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56534 Bug #: 56534 Summary: [4.7/4.8 Regression] ICE Segfault on invalid code in check_elaborated_type_specifier Classification: Unclassified Product: gcc Version: 4.7.3 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: g...@abeckmann.de The following line of invalid code causes an ICE Segfault, this is a regression from 4.6 behavior: = 8 = template struct template rebind = 8 = $ g++-4.7.x -v -c ice-segfault.cpp Using built-in specs. COLLECT_GCC=/opt/software/x86_64/gcc-4.7.x/bin/g++-4.7.x Target: x86_64-unknown-linux-gnu Configured with: ../gcc-4_7-branch/configure --prefix=/opt/software/x86_64/gcc-4.7.x --program-suffix=-4.7.x --enable-languages=c,c++,fortran --enable-checking Thread model: posix gcc version 4.7.3 20130304 (prerelease) (GCC) COLLECT_GCC_OPTIONS='-v' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' /opt/software/x86_64/gcc-4.7.x/libexec/gcc/x86_64-unknown-linux-gnu/4.7.3/cc1plus -quiet -v -imultilib . -imultiarch x86_64-linux-gnu -D_GNU_SOURCE ice-segfault.cpp -quiet -dumpbase ice-segfault.cpp -mtune=generic -march=x86-64 -auxbase ice-segfault -version -o /tmp/ccr5sP7L.s GNU C++ (GCC) version 4.7.3 20130304 (prerelease) (x86_64-unknown-linux-gnu) compiled by GNU C version 4.7.3 20130304 (prerelease), GMP version 5.0.5, MPFR version 3.1.0-p10, MPC version 0.9 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 ignoring nonexistent directory /usr/local/include/x86_64-linux-gnu ignoring nonexistent directory /opt/software/x86_64/gcc-4.7.x/lib/gcc/x86_64-unknown-linux-gnu/4.7.3/../../../../x86_64-unknown-linux-gnu/include #include ... search starts here: #include ... search starts here: /opt/software/x86_64/gcc-4.7.x/lib/gcc/x86_64-unknown-linux-gnu/4.7.3/../../../../include/c++/4.7.3 /opt/software/x86_64/gcc-4.7.x/lib/gcc/x86_64-unknown-linux-gnu/4.7.3/../../../../include/c++/4.7.3/x86_64-unknown-linux-gnu/. /opt/software/x86_64/gcc-4.7.x/lib/gcc/x86_64-unknown-linux-gnu/4.7.3/../../../../include/c++/4.7.3/backward /opt/software/x86_64/gcc-4.7.x/lib/gcc/x86_64-unknown-linux-gnu/4.7.3/include /usr/local/include /opt/software/x86_64/gcc-4.7.x/include /opt/software/x86_64/gcc-4.7.x/lib/gcc/x86_64-unknown-linux-gnu/4.7.3/include-fixed /usr/include/x86_64-linux-gnu /usr/include End of search list. GNU C++ (GCC) version 4.7.3 20130304 (prerelease) (x86_64-unknown-linux-gnu) compiled by GNU C version 4.7.3 20130304 (prerelease), GMP version 5.0.5, MPFR version 3.1.0-p10, MPC version 0.9 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Compiler executable checksum: 52ed9e0a10a946085ed136449fb02111 ice-segfault.cpp:1:37: internal compiler error: Segmentation fault Please submit a full bug report, $ g++-trunk -v -c ice-segfault.cpp Using built-in specs. COLLECT_GCC=/opt/software/x86_64/gcc-trunk/bin/g++-trunk Target: x86_64-unknown-linux-gnu Configured with: ../gcc-trunk/configure --prefix=/opt/software/x86_64/gcc-trunk --program-suffix=-trunk --enable-languages=c,c++,fortran --enable-checking Thread model: posix gcc version 4.8.0 20130302 (experimental) (GCC) COLLECT_GCC_OPTIONS='-v' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' /opt/software/x86_64/gcc-trunk/libexec/gcc/x86_64-unknown-linux-gnu/4.8.0/cc1plus -quiet -v -imultilib . -imultiarch x86_64-linux-gnu -D_GNU_SOURCE ice-segfault.cpp -quiet -dumpbase ice-segfault.cpp -mtune=generic -march=x86-64 -auxbase ice-segfault -version -o /tmp/ccVB908D.s GNU C++ (GCC) version 4.8.0 20130302 (experimental) (x86_64-unknown-linux-gnu) compiled by GNU C version 4.8.0 20130302 (experimental), GMP version 5.0.5, MPFR version 3.1.0-p10, MPC version 0.9 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 ignoring nonexistent directory /usr/local/include/x86_64-linux-gnu ignoring nonexistent directory /opt/software/x86_64/gcc-trunk/lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../x86_64-unknown-linux-gnu/include #include ... search starts here: #include ... search starts here: /opt/software/x86_64/gcc-trunk/lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../include/c++/4.8.0 /opt/software/x86_64/gcc-trunk/lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../include/c++/4.8.0/x86_64-unknown-linux-gnu/. /opt/software/x86_64/gcc-trunk/lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../include/c++/4.8.0/backward /opt/software/x86_64/gcc-trunk/lib/gcc/x86_64-unknown-linux-gnu/4.8.0/include /usr/local/include /opt/software/x86_64/gcc-trunk/include /opt/software/x86_64/gcc-trunk/lib/gcc/x86_64-unknown-linux-gnu/4.8.0/include-fixed /usr/include/x86_64-linux-gnu /usr/include End of search list. GNU C++ (GCC) version 4.8.0 20130302 (experimental) (x86_64-unknown-linux-gnu) compiled by
[Bug c++/55786] g++ segmentation fault
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55786 Andreas Beckmann gcc at abeckmann dot de changed: What|Removed |Added CC||gcc at abeckmann dot de --- Comment #1 from Andreas Beckmann gcc at abeckmann dot de 2013-03-05 14:39:58 UTC --- PR56534 is probably a duplicate of this Found: 4.8.0 4.7.3 Notfound: 4.6.4 $ g++-trunk -v -c /tmp/bug.cpp Using built-in specs. COLLECT_GCC=/opt/software/x86_64/gcc-trunk/bin/g++-trunk Target: x86_64-unknown-linux-gnu Configured with: ../gcc-trunk/configure --prefix=/opt/software/x86_64/gcc-trunk --program-suffix=-trunk --enable-languages=c,c++,fortran --enable-checking Thread model: posix gcc version 4.8.0 20130302 (experimental) (GCC) COLLECT_GCC_OPTIONS='-v' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' /opt/software/x86_64/gcc-trunk/libexec/gcc/x86_64-unknown-linux-gnu/4.8.0/cc1plus -quiet -v -imultilib . -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /tmp/bug.cpp -quiet -dumpbase bug.cpp -mtune=generic -march=x86-64 -auxbase bug -version -o /tmp/ccqIqNaE.s GNU C++ (GCC) version 4.8.0 20130302 (experimental) (x86_64-unknown-linux-gnu) compiled by GNU C version 4.8.0 20130302 (experimental), GMP version 5.0.5, MPFR version 3.1.0-p10, MPC version 0.9 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 ignoring nonexistent directory /usr/local/include/x86_64-linux-gnu ignoring nonexistent directory /opt/software/x86_64/gcc-trunk/lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../x86_64-unknown-linux-gnu/include #include ... search starts here: #include ... search starts here: /opt/software/x86_64/gcc-trunk/lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../include/c++/4.8.0 /opt/software/x86_64/gcc-trunk/lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../include/c++/4.8.0/x86_64-unknown-linux-gnu/. /opt/software/x86_64/gcc-trunk/lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../include/c++/4.8.0/backward /opt/software/x86_64/gcc-trunk/lib/gcc/x86_64-unknown-linux-gnu/4.8.0/include /usr/local/include /opt/software/x86_64/gcc-trunk/include /opt/software/x86_64/gcc-trunk/lib/gcc/x86_64-unknown-linux-gnu/4.8.0/include-fixed /usr/include/x86_64-linux-gnu /usr/include End of search list. GNU C++ (GCC) version 4.8.0 20130302 (experimental) (x86_64-unknown-linux-gnu) compiled by GNU C version 4.8.0 20130302 (experimental), GMP version 5.0.5, MPFR version 3.1.0-p10, MPC version 0.9 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Compiler executable checksum: eedf9bce273f5c2d2f3e6a014c94ec56 /tmp/bug.cpp:8:17: error: ‘’ should be ‘ ’ within a nested template argument list struct FooBarT::template Baztrue ^ /tmp/bug.cpp:8:30: internal compiler error: Segmentation fault struct FooBarT::template Baztrue ^ 0xa7da8f crash_signal ../../gcc-trunk/gcc/toplev.c:332 0x5331de check_elaborated_type_specifier(tag_types, tree_node*, bool) ../../gcc-trunk/gcc/cp/decl.c:11731 0x61d1de cp_parser_elaborated_type_specifier ../../gcc-trunk/gcc/cp/parser.c:14256 0x5fad08 cp_parser_type_specifier ../../gcc-trunk/gcc/cp/parser.c:13601 0x6121ed cp_parser_decl_specifier_seq ../../gcc-trunk/gcc/cp/parser.c:10900 0x616163 cp_parser_single_declaration ../../gcc-trunk/gcc/cp/parser.c:21915 0x618ee2 cp_parser_template_declaration_after_export ../../gcc-trunk/gcc/cp/parser.c:21800 0x6207f9 cp_parser_declaration ../../gcc-trunk/gcc/cp/parser.c:10309 0x61f3dd cp_parser_declaration_seq_opt ../../gcc-trunk/gcc/cp/parser.c:10231 0x620c82 cp_parser_translation_unit ../../gcc-trunk/gcc/cp/parser.c:3807 0x620c82 c_parse_file() ../../gcc-trunk/gcc/cp/parser.c:28182 0x728794 c_common_parse_file() ../../gcc-trunk/gcc/c-family/c-opts.c:1046 Please submit a full bug report,
[Bug c++/56543] New: [4.7.3/4.8 Regression] ICE on valid code in copy_node_stat
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56543 Bug #: 56543 Summary: [4.7.3/4.8 Regression] ICE on valid code in copy_node_stat Classification: Unclassified Product: gcc Version: 4.7.3 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: g...@abeckmann.de The following useless but valid piece of code causes a ICE Segfault in 4.8 (SVN) and 4.7.3 (SVN). It is accepted by 4.6.4 (SVN) and 4.7.2. = 8 = template typename struct S ; template typename T struct U { typedef typename S T :: template V W ; S W x; }; = 8 = $ g++-trunk -c -v ice-segfault-copy_node_stat.cpp Using built-in specs. COLLECT_GCC=/opt/software/x86_64/gcc-trunk/bin/g++-trunk Target: x86_64-unknown-linux-gnu Configured with: ../gcc-trunk/configure --prefix=/opt/software/x86_64/gcc-trunk --program-suffix=-trunk --enable-languages=c,c++,fortran --enable-checking Thread model: posix gcc version 4.8.0 20130302 (experimental) (GCC) COLLECT_GCC_OPTIONS='-c' '-v' '-shared-libgcc' '-mtune=generic' '-march=x86-64' /opt/software/x86_64/gcc-trunk/libexec/gcc/x86_64-unknown-linux-gnu/4.8.0/cc1plus -quiet -v -imultilib . -imultiarch x86_64-linux-gnu -D_GNU_SOURCE ice-segfault-copy_node_stat.cpp -quiet -dumpbase ice-segfault-copy_node_stat.cpp -mtune=generic -march=x86-64 -auxbase ice-segfault-copy_node_stat -version -o /tmp/ccZwWTct.s GNU C++ (GCC) version 4.8.0 20130302 (experimental) (x86_64-unknown-linux-gnu) compiled by GNU C version 4.8.0 20130302 (experimental), GMP version 5.0.5, MPFR version 3.1.0-p10, MPC version 0.9 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 ignoring nonexistent directory /usr/local/include/x86_64-linux-gnu ignoring nonexistent directory /opt/software/x86_64/gcc-trunk/lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../x86_64-unknown-linux-gnu/include #include ... search starts here: #include ... search starts here: /opt/software/x86_64/gcc-trunk/lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../include/c++/4.8.0 /opt/software/x86_64/gcc-trunk/lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../include/c++/4.8.0/x86_64-unknown-linux-gnu/. /opt/software/x86_64/gcc-trunk/lib/gcc/x86_64-unknown-linux-gnu/4.8.0/../../../../include/c++/4.8.0/backward /opt/software/x86_64/gcc-trunk/lib/gcc/x86_64-unknown-linux-gnu/4.8.0/include /usr/local/include /opt/software/x86_64/gcc-trunk/include /opt/software/x86_64/gcc-trunk/lib/gcc/x86_64-unknown-linux-gnu/4.8.0/include-fixed /usr/include/x86_64-linux-gnu /usr/include End of search list. GNU C++ (GCC) version 4.8.0 20130302 (experimental) (x86_64-unknown-linux-gnu) compiled by GNU C version 4.8.0 20130302 (experimental), GMP version 5.0.5, MPFR version 3.1.0-p10, MPC version 0.9 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Compiler executable checksum: eedf9bce273f5c2d2f3e6a014c94ec56 ice-segfault-copy_node_stat.cpp:4:8: internal compiler error: Segmentation fault S W x; ^ 0xa7da8f crash_signal ../../gcc-trunk/gcc/toplev.c:332 0xc656bd copy_node_stat(tree_node*) ../../gcc-trunk/gcc/tree.c:947 0x6a1819 strip_typedefs(tree_node*) ../../gcc-trunk/gcc/cp/tree.c:1228 0x54b82c canonicalize_type_argument ../../gcc-trunk/gcc/cp/pt.c:6136 0x584e1d coerce_template_parms ../../gcc-trunk/gcc/cp/pt.c:6706 0x586dc8 lookup_template_class_1 ../../gcc-trunk/gcc/cp/pt.c:7265 0x586dc8 lookup_template_class(tree_node*, tree_node*, tree_node*, tree_node*, int, int) ../../gcc-trunk/gcc/cp/pt.c:7562 0x677fb2 finish_template_type(tree_node*, tree_node*, int) ../../gcc-trunk/gcc/cp/semantics.c:2806 0x611528 cp_parser_template_id ../../gcc-trunk/gcc/cp/parser.c:12710 0x6118c2 cp_parser_class_name ../../gcc-trunk/gcc/cp/parser.c:18109 0x606dbb cp_parser_qualifying_entity ../../gcc-trunk/gcc/cp/parser.c:5275 0x606dbb cp_parser_nested_name_specifier_opt ../../gcc-trunk/gcc/cp/parser.c:5006 0x6077db cp_parser_nested_name_specifier ../../gcc-trunk/gcc/cp/parser.c:5199 0x6173bb cp_parser_using_declaration ../../gcc-trunk/gcc/cp/parser.c:15174 0x5f9d11 cp_parser_member_declaration ../../gcc-trunk/gcc/cp/parser.c:19127 0x5fb036 cp_parser_member_specification_opt ../../gcc-trunk/gcc/cp/parser.c:18990 0x5fb036 cp_parser_class_specifier_1 ../../gcc-trunk/gcc/cp/parser.c:18243 0x5fb036 cp_parser_class_specifier ../../gcc-trunk/gcc/cp/parser.c:18459 0x5fb036 cp_parser_type_specifier ../../gcc-trunk/gcc/cp/parser.c:13573 0x6121ed cp_parser_decl_specifier_seq ../../gcc-trunk/gcc/cp/parser.c:10900 Please submit a full bug report, $
[Bug c++/49187] New: parallel mode compilation broken - unqualified lookup? (bisected)
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49187 Summary: parallel mode compilation broken - unqualified lookup? (bisected) Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: g...@abeckmann.de CC: ja...@gcc.gnu.org Parallel mode compilation of the following small test fails in current trunk (r174320): g++ -W -Wall -D_GLIBCXX_PARALLEL -c parasort.cc == 8 = #include vector #include algorithm int main() { std::vectorint v; std::sort(v.begin(), v.end()); } == 8 = This regression was introduced in r173965 | jason | 2011-05-20 20:01:22 +0200 (Fri, 20 May 2011) | 33 lines PR c++/24163 PR c++/29131 gcc/cp/ * pt.c (tsubst_copy_and_build) [CALL_EXPR]: Avoid repeating unqualified lookup. * semantics.c (perform_koenig_lookup): Add complain parm. ... libstdc++-v3/ * (multiple headers): Explicitly qualify calls to functions from dependent bases. ... As this seems to be an intentional change, the parallel mode headers need to be adjusted as well. g++ -W -Wall -D_GLIBCXX_PARALLEL -c parasort.cc In file included from /tmp/bisect47/bisect/lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/parallel/sort.h:44:0, from /tmp/bisect47/bisect/lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/parallel/algo.h:45, from /tmp/bisect47/bisect/lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/parallel/algorithm:38, from /tmp/bisect47/bisect/lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/algorithm:66, from parasort.cc:2: /tmp/bisect47/bisect/lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/parallel/multiway_mergesort.h: In member function 'void __gnu_parallel::_SplitConsistentlytrue, _RAIter, _Compare, _SortingPlacesIterator::operator()(__gnu_parallel::_ThreadIndex, __gnu_parallel::_PMWMSSortingData_RAIter*, _Compare, typename std::iterator_traits_II1::difference_type) const [with _RAIter = __gnu_cxx::__normal_iteratorint*, std::vectorint , _Compare = std::lessint, _SortingPlacesIterator = int*, __gnu_parallel::_ThreadIndex = short unsigned int, typename std::iterator_traits_II1::difference_type = long int]': /tmp/bisect47/bisect/lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/parallel/multiway_mergesort.h:347:7: instantiated from 'void __gnu_parallel::parallel_sort_mwms_pu(__gnu_parallel::_PMWMSSortingData_RAIter*, _Compare) [with bool __stable = false, bool __exact = true, _RAIter = __gnu_cxx::__normal_iteratorint*, std::vectorint , _Compare = std::lessint]' /tmp/bisect47/bisect/lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/parallel/multiway_mergesort.h:462:9: instantiated from 'void __gnu_parallel::parallel_sort_mwms(_RAIter, _RAIter, _Compare, __gnu_parallel::_ThreadIndex) [with bool __stable = false, bool __exact = true, _RAIter = __gnu_cxx::__normal_iteratorint*, std::vectorint , _Compare = std::lessint, __gnu_parallel::_ThreadIndex = short unsigned int]' /tmp/bisect47/bisect/lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/parallel/sort.h:103:7: instantiated from 'void __gnu_parallel::__parallel_sort(_RAIter, _RAIter, _Compare, __gnu_parallel::multiway_mergesort_exact_tag) [with bool __stable = false, _RAIter = __gnu_cxx::__normal_iteratorint*, std::vectorint , _Compare = std::lessint]' /tmp/bisect47/bisect/lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/parallel/sort.h:183:7: instantiated from 'void __gnu_parallel::__parallel_sort(_RAIter, _RAIter, _Compare, __gnu_parallel::default_parallel_tag) [with bool __stable = false, _RAIter = __gnu_cxx::__normal_iteratorint*, std::vectorint , _Compare = std::lessint]' /tmp/bisect47/bisect/lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/parallel/algo.h:1772:11: instantiated from 'void std::__parallel::sort(_RAIter, _RAIter, _Compare, _Parallelism) [with _RAIter = __gnu_cxx::__normal_iteratorint*, std::vectorint , _Compare = std::lessint, _Parallelism = __gnu_parallel::default_parallel_tag]' /tmp/bisect47/bisect/lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/parallel/algo.h:1786:7: instantiated from 'void std::__parallel::sort(_RAIter, _RAIter) [with _RAIter = __gnu_cxx::__normal_iteratorint*, std::vectorint ]' parasort.cc:7:30: instantiated from here /tmp/bisect47/bisect/lib/gcc/x86_64-unknown-linux-gnu/4.7.0/../../../../include/c++/4.7.0/parallel/multiway_mergesort.h:153:4: error: 'multiseq_partition' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
[Bug c++/47290] New: memory exhausted compiling a destructor with an infinite 'for (;;);' loop
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47290 Summary: memory exhausted compiling a destructor with an infinite 'for (;;);' loop Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: g...@abeckmann.de The following piece of code consumes all available memory when being compiled with g++ 4.5 or g++ 4.6 and optimization level -O2 or higher. It compiles correctly with g++ 4.4. gcc version 4.6.0 20110111 (experimental) (GCC) gcc version 4.5.3 20110110 (prerelease) (GCC) = 8 = struct V { V ( int = 0 ) ; ~V () { for ( ; ; ) ; } int size () ; } ; struct S { V a ; V b ; S () : b ( a . size () ) { } } ; S s ; = 8 = $ ulimit -v 700 # limited to about 7 GB ouf of my 8 GB of RAM so the machine does not start to swap heavily $ g++-trunk -O2 -c memhog.C virtual memory exhausted: Cannot allocate memory $ g++-trunk -v -O2 -c memhog.C Using built-in specs. COLLECT_GCC=/opt/software/x86_64/gcc-trunk/bin/g++-trunk COLLECT_LTO_WRAPPER=/opt/software/x86_64/gcc-trunk/libexec/gcc/x86_64-unknown-linux-gnu/4.6.0/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: ../gcc-trunk/configure --prefix=/opt/software/x86_64/gcc-trunk --program-suffix=-trunk --enable-languages=c,c++ --enable-checking Thread model: posix gcc version 4.6.0 20110111 (experimental) (GCC) COLLECT_GCC_OPTIONS='-v' '-O2' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' /opt/software/x86_64/gcc-trunk/libexec/gcc/x86_64-unknown-linux-gnu/4.6.0/cc1plus -quiet -v -D_GNU_SOURCE memhog.C -quiet -dumpbase memhog.C -mtune=generic -march=x86-64 -auxbase memhog -O2 -version -o /tmp/ccmZpTnX.s GNU C++ (GCC) version 4.6.0 20110111 (experimental) (x86_64-unknown-linux-gnu) compiled by GNU C version 4.6.0 20110111 (experimental), GMP version 4.3.2, MPFR version 3.0.0-p3, MPC version 0.8.2 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 ignoring nonexistent directory /opt/software/x86_64/gcc-trunk/lib/gcc/x86_64-unknown-linux-gnu/4.6.0/../../../../x86_64-unknown-linux-gnu/include #include ... search starts here: #include ... search starts here: /opt/software/x86_64/gcc-trunk/lib/gcc/x86_64-unknown-linux-gnu/4.6.0/../../../../include/c++/4.6.0 /opt/software/x86_64/gcc-trunk/lib/gcc/x86_64-unknown-linux-gnu/4.6.0/../../../../include/c++/4.6.0/x86_64-unknown-linux-gnu /opt/software/x86_64/gcc-trunk/lib/gcc/x86_64-unknown-linux-gnu/4.6.0/../../../../include/c++/4.6.0/backward /opt/software/x86_64/gcc-trunk/lib/gcc/x86_64-unknown-linux-gnu/4.6.0/include /usr/local/include /opt/software/x86_64/gcc-trunk/include /opt/software/x86_64/gcc-trunk/lib/gcc/x86_64-unknown-linux-gnu/4.6.0/include-fixed /usr/include End of search list. GNU C++ (GCC) version 4.6.0 20110111 (experimental) (x86_64-unknown-linux-gnu) compiled by GNU C version 4.6.0 20110111 (experimental), GMP version 4.3.2, MPFR version 3.0.0-p3, MPC version 0.8.2 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Compiler executable checksum: e48296e048ab4023a18c7e7537bfd602 virtual memory exhausted: Cannot allocate memory
[Bug c++/46871] [C++0x] ICE: in cxx_eval_constant_expression, at cp/semantics.c:6686 on invalid code (+rejects valid)
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46871 Andreas Beckmann gcc at abeckmann dot de changed: What|Removed |Added CC||gcc at abeckmann dot de --- Comment #1 from Andreas Beckmann gcc at abeckmann dot de 2011-01-11 12:49:41 UTC --- The following testcase (invalid code) results in the same ICE, but unfortunately ICEs are difficult to compare, so this may be an independent issue. = 8 = template , , struct S ; template typename f ( ) { const bool b = ; S , b , = 8 = $ g++-trunk -m64 -std=c++0x -pthread -O3 -c -o a.o PR46871-2.C PR46871-2.C:1:12: error: expected identifier before ‘,’ token PR46871-2.C:1:14: error: expected identifier before ‘,’ token PR46871-2.C:1:16: error: expected identifier before ‘’ token PR46871-2.C:4:5: error: ISO C++ forbids declaration of ‘f’ with no type [-fpermissive] PR46871-2.C: In function ‘int f()’: PR46871-2.C:5:20: error: expected identifier before ‘;’ token PR46871-2.C:6:10: error: template argument 1 is invalid PR46871-2.C:6:10: error: ‘(int)b’ is not a valid template argument for type ‘int’ because it is a non-constant expression PR46871-2.C:6:10: error: the value of ‘b’ is not usable in a constant expression PR46871-2.C:6:10: internal compiler error: in cxx_eval_constant_expression, at cp/semantics.c:6688 Please submit a full bug report, gcc version 4.6.0 20110107 (experimental) (GCC)
[Bug c++/46701] [C++0x] ICE in build_data_member_initialization, at cp/semantics.c:5503
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46701 --- Comment #11 from Andreas Beckmann gcc at abeckmann dot de 2010-12-09 21:50:26 UTC --- I just retried with trunk r167662 and could still reproduce this bug for both miles' code and my minimized test case So it was *not* fixed by 46348. (But the testcase from 46348 now compiles cleanly.)
[Bug c++/46852] New: ICE: tree check: expected class ‘type’, have ‘exceptional’ (error_mark) in cp_parser_class_specifier, at cp/parser.c:16947
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46852 Summary: ICE: tree check: expected class ‘type’, have ‘exceptional’ (error_mark) in cp_parser_class_specifier, at cp/parser.c:16947 Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: g...@abeckmann.de The following code fragment gives an ICE in trunk: = 8 = template class { = 8 = $ g++-trunk -c -v ice-cp_parser_class_specifier.min.ii Using built-in specs. COLLECT_GCC=/opt/software/x86_64/gcc-trunk/bin/g++-trunk COLLECT_LTO_WRAPPER=/opt/software/x86_64/gcc-trunk/libexec/gcc/x86_64-unknown-linux-gnu/4.6.0/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: ../gcc-trunk/configure --prefix=/opt/software/x86_64/gcc-trunk --program-suffix=-trunk --enable-languages=c,c++ --enable-checking Thread model: posix gcc version 4.6.0 20101207 (experimental) (GCC) COLLECT_GCC_OPTIONS='-c' '-v' '-shared-libgcc' '-mtune=generic' '-march=x86-64' /opt/software/x86_64/gcc-trunk/libexec/gcc/x86_64-unknown-linux-gnu/4.6.0/cc1plus -fpreprocessed ice-cp_parser_class_specifier.min.ii -quiet -dumpbase ice-cp_parser_class_specifier.min.ii -mtune=generic -march=x86-64 -auxbase ice-cp_parser_class_specifier.min -version -o /tmp/ccKrOsa0.s GNU C++ (GCC) version 4.6.0 20101207 (experimental) (x86_64-unknown-linux-gnu) compiled by GNU C version 4.6.0 20101207 (experimental), GMP version 4.3.2, MPFR version 3.0.0-p3, MPC version 0.8.2 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 GNU C++ (GCC) version 4.6.0 20101207 (experimental) (x86_64-unknown-linux-gnu) compiled by GNU C version 4.6.0 20101207 (experimental), GMP version 4.3.2, MPFR version 3.0.0-p3, MPC version 0.8.2 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Compiler executable checksum: 58dd45b357216c1e9d23aab2b8f87581 ice-cp_parser_class_specifier.min.ii:4:1: error: types may not be defined in parameter types ice-cp_parser_class_specifier.min.ii:4:1: error: definition of ‘classanonymous’ inside template parameter list ice-cp_parser_class_specifier.min.ii:4:1: error: expected ‘}’ at end of input ice-cp_parser_class_specifier.min.ii:4:1: internal compiler error: tree check: expected class ‘type’, have ‘exceptional’ (error_mark) in cp_parser_class_specifier, at cp/parser.c:16947 Please submit a full bug report, This is a regression from 4.5.x which properly gives these errors: $ g++-4.5.x -c ice-cp_parser_class_specifier.min.ii ice-cp_parser_class_specifier.min.ii:4:1: error: types may not be defined in parameter types ice-cp_parser_class_specifier.min.ii:4:1: error: definition of ‘classanonymous’ inside template parameter list ice-cp_parser_class_specifier.min.ii:4:1: error: expected ‘}’ at end of input ice-cp_parser_class_specifier.min.ii:4:1: error: expected ‘’ at end of input ice-cp_parser_class_specifier.min.ii:4:1: error: expected unqualified-id at end of input Andreas
[Bug c++/46564] [4.6 Regression] ICE: in decl_constant_var_p, at cp/decl2.c:3562 on invalid recursive initialization
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46564 Andreas Beckmann gcc at abeckmann dot de changed: What|Removed |Added CC||gcc at abeckmann dot de --- Comment #2 from Andreas Beckmann gcc at abeckmann dot de 2010-12-08 20:54:25 UTC --- Another testcase without nesting problems, but using invalid code instead: = 8 = constexpr pair ( pair = 8 = $ g++-trunk -c -std=c++0x ice-decl_constant_var_p.min.ii ice-decl_constant_var_p.min.ii:4:1: error: ISO C++ forbids declaration of ‘pair’ with no type [-fpermissive] ice-decl_constant_var_p.min.ii:4:1: internal compiler error: in decl_constant_var_p, at cp/decl2.c:3563 Please submit a full bug report, $ g++-4.5 -c -std=c++0x ice-decl_constant_var_p.min.ii ice-decl_constant_var_p.min.ii:4:1: error: ISO C++ forbids declaration of ‘pair’ with no type ice-decl_constant_var_p.min.ii:4:1: error: expected ‘)’ at end of input ice-decl_constant_var_p.min.ii:4:1: error: expected ‘,’ or ‘;’ at end of input
[Bug c++/46855] New: cc1plus: internal compiler error: Segmentation fault (instead of g++-4.5's: expected unqualified-id at end of input)
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46855 Summary: cc1plus: internal compiler error: Segmentation fault (instead of g++-4.5's: expected unqualified-id at end of input) Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: g...@abeckmann.de The following piece of invalid code gives an ICE SIGSEGV in 4.6: = 8 = struct { struct my_data = 8 = $ g++-trunk -c ice-SIGSEGV.min.ii ice-SIGSEGV.min.ii:4:1: error: ‘my_data’ is not a template ice-SIGSEGV.min.ii:4:1: error: expected unqualified-id at end of input ice-SIGSEGV.min.ii:4:1: error: expected ‘}’ at end of input cc1plus: error: expected ‘;’ after struct definition ice-SIGSEGV.min.ii:4:1: error: abstract declarator ‘anonymous struct’ used as declaration cc1plus: internal compiler error: Segmentation fault Please submit a full bug report, $ g++-4.5.x -c ice-SIGSEGV.min.ii ice-SIGSEGV.min.ii:4:1: error: ‘my_data’ is not a template ice-SIGSEGV.min.ii:4:1: error: expected unqualified-id at end of input ice-SIGSEGV.min.ii:4:1: error: expected ‘}’ at end of input ice-SIGSEGV.min.ii:4:1: error: expected unqualified-id at end of input $ g++-trunk -v -c ice-SIGSEGV.min.ii Using built-in specs. COLLECT_GCC=/opt/software/x86_64/gcc-trunk/bin/g++-trunk COLLECT_LTO_WRAPPER=/opt/software/x86_64/gcc-trunk/libexec/gcc/x86_64-unknown-linux-gnu/4.6.0/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: ../gcc-trunk/configure --prefix=/opt/software/x86_64/gcc-trunk --program-suffix=-trunk --enable-languages=c,c++ --enable-checking Thread model: posix gcc version 4.6.0 20101207 (experimental) (GCC) COLLECT_GCC_OPTIONS='-v' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' /opt/software/x86_64/gcc-trunk/libexec/gcc/x86_64-unknown-linux-gnu/4.6.0/cc1plus -fpreprocessed ice-SIGSEGV.min.ii -quiet -dumpbase ice-SIGSEGV.min.ii -mtune=generic -march=x86-64 -auxbase ice-SIGSEGV.min -version -o /tmp/cci7gnRt.s GNU C++ (GCC) version 4.6.0 20101207 (experimental) (x86_64-unknown-linux-gnu) compiled by GNU C version 4.6.0 20101207 (experimental), GMP version 4.3.2, MPFR version 3.0.0-p3, MPC version 0.8.2 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 GNU C++ (GCC) version 4.6.0 20101207 (experimental) (x86_64-unknown-linux-gnu) compiled by GNU C version 4.6.0 20101207 (experimental), GMP version 4.3.2, MPFR version 3.0.0-p3, MPC version 0.8.2 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Compiler executable checksum: 58dd45b357216c1e9d23aab2b8f87581 ice-SIGSEGV.min.ii:4:1: error: ‘my_data’ is not a template ice-SIGSEGV.min.ii:4:1: error: expected unqualified-id at end of input ice-SIGSEGV.min.ii:4:1: error: expected ‘}’ at end of input cc1plus: error: expected ‘;’ after struct definition ice-SIGSEGV.min.ii:4:1: error: abstract declarator ‘anonymous struct’ used as declaration cc1plus: internal compiler error: Segmentation fault Please submit a full bug report,
[Bug c++/46857] New: internal compiler error: Segmentation fault (in -std=c++0x mode)
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46857 Summary: internal compiler error: Segmentation fault (in -std=c++0x mode) Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: g...@abeckmann.de The following piece of invalid code gives an ICE SIGSEGV when compiling in c++0x mode: = 8 = template class struct pair { : first () = 8 = $ g++-trunk -c -std=c++0x ice-SIGSEGV-cxx0x.min.ii ice-SIGSEGV-cxx0x.min.ii:6:8: error: there are no arguments to ‘first’ that depend on a template parameter, so a declaration of ‘first’ must be available [-fpermissive] ice-SIGSEGV-cxx0x.min.ii:6:8: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated) ice-SIGSEGV-cxx0x.min.ii:6:8: error: ISO C++ forbids declaration of ‘type name’ with no type [-fpermissive] ice-SIGSEGV-cxx0x.min.ii:6:8: internal compiler error: Segmentation fault Please submit a full bug report, $ g++-trunk -c ice-SIGSEGV-cxx0x.min.ii ice-SIGSEGV-cxx0x.min.ii:6:8: error: a function call cannot appear in a constant-expression ice-SIGSEGV-cxx0x.min.ii:6:8: error: ISO C++ forbids declaration of ‘type name’ with no type [-fpermissive] ice-SIGSEGV-cxx0x.min.ii:6:8: error: expected ‘;’ at end of member declaration ice-SIGSEGV-cxx0x.min.ii:6:8: error: expected ‘}’ at end of input ice-SIGSEGV-cxx0x.min.ii:6:8: error: expected ‘;’ after struct definition $ g++-4.5.x -c -std=c++0x ice-SIGSEGV-cxx0x.min.ii ice-SIGSEGV-cxx0x.min.ii:6:8: error: a function call cannot appear in a constant-expression ice-SIGSEGV-cxx0x.min.ii:6:8: error: ISO C++ forbids declaration of ‘type name’ with no type ice-SIGSEGV-cxx0x.min.ii:6:8: error: expected ‘;’ at end of input ice-SIGSEGV-cxx0x.min.ii:6:8: error: expected ‘;’ at end of input ice-SIGSEGV-cxx0x.min.ii:6:8: error: expected ‘}’ at end of input ice-SIGSEGV-cxx0x.min.ii:6:8: error: expected unqualified-id at end of input $ g++-trunk -v -c -std=c++0x ice-SIGSEGV-cxx0x.min.ii Using built-in specs. COLLECT_GCC=/opt/software/x86_64/gcc-trunk/bin/g++-trunk COLLECT_LTO_WRAPPER=/opt/software/x86_64/gcc-trunk/libexec/gcc/x86_64-unknown-linux-gnu/4.6.0/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: ../gcc-trunk/configure --prefix=/opt/software/x86_64/gcc-trunk --program-suffix=-trunk --enable-languages=c,c++ --enable-checking Thread model: posix gcc version 4.6.0 20101207 (experimental) (GCC) COLLECT_GCC_OPTIONS='-v' '-c' '-std=c++0x' '-shared-libgcc' '-mtune=generic' '-march=x86-64' /opt/software/x86_64/gcc-trunk/libexec/gcc/x86_64-unknown-linux-gnu/4.6.0/cc1plus -fpreprocessed ice-SIGSEGV-cxx0x.min.ii -quiet -dumpbase ice-SIGSEGV-cxx0x.min.ii -mtune=generic -march=x86-64 -auxbase ice-SIGSEGV-cxx0x.min -std=c++0x -version -o /tmp/ccK3LaxI.s GNU C++ (GCC) version 4.6.0 20101207 (experimental) (x86_64-unknown-linux-gnu) compiled by GNU C version 4.6.0 20101207 (experimental), GMP version 4.3.2, MPFR version 3.0.0-p3, MPC version 0.8.2 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 GNU C++ (GCC) version 4.6.0 20101207 (experimental) (x86_64-unknown-linux-gnu) compiled by GNU C version 4.6.0 20101207 (experimental), GMP version 4.3.2, MPFR version 3.0.0-p3, MPC version 0.8.2 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Compiler executable checksum: 58dd45b357216c1e9d23aab2b8f87581 ice-SIGSEGV-cxx0x.min.ii:6:8: error: there are no arguments to ‘first’ that depend on a template parameter, so a declaration of ‘first’ must be available [-fpermissive] ice-SIGSEGV-cxx0x.min.ii:6:8: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated) ice-SIGSEGV-cxx0x.min.ii:6:8: error: ISO C++ forbids declaration of ‘type name’ with no type [-fpermissive] ice-SIGSEGV-cxx0x.min.ii:6:8: internal compiler error: Segmentation fault Please submit a full bug report,
[Bug c++/39751] ICE in cp_lexer_new_from_tokens, at cp/parser.c:342
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39751 Andreas Beckmann gcc at abeckmann dot de changed: What|Removed |Added Known to work||3.3.6, 4.6.0 Known to fail|4.4.0, 4.5.0|4.2.4, 4.3.6, 4.4.6, 4.5.2 --- Comment #7 from Andreas Beckmann gcc at abeckmann dot de 2010-12-09 00:14:11 UTC --- I just checked again and this problem seems to be fixed in trunk now.
[Bug c++/46858] New: ICE: in cp_lexer_new_from_tokens, at cp/parser.c:464
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46858 Summary: ICE: in cp_lexer_new_from_tokens, at cp/parser.c:464 Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: g...@abeckmann.de The following piece of invalid code ICEs in 4.2.x up to 4.6.0 (no older compilers tested): = 8 = template class struct pair { pair class { insert ( { pair = 8 = $ g++-trunk -v -c ice-cp_lexer_new_from_tokens.min.ii Using built-in specs. COLLECT_GCC=/opt/software/x86_64/gcc-trunk/bin/g++-trunk COLLECT_LTO_WRAPPER=/opt/software/x86_64/gcc-trunk/libexec/gcc/x86_64-unknown-linux-gnu/4.6.0/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: ../gcc-trunk/configure --prefix=/opt/software/x86_64/gcc-trunk --program-suffix=-trunk --enable-languages=c,c++ --enable-checking Thread model: posix gcc version 4.6.0 20101207 (experimental) (GCC) COLLECT_GCC_OPTIONS='-v' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' /opt/software/x86_64/gcc-trunk/libexec/gcc/x86_64-unknown-linux-gnu/4.6.0/cc1plus -fpreprocessed ice-cp_lexer_new_from_tokens.min.ii -quiet -dumpbase ice-cp_lexer_new_from_tokens.min.ii -mtune=generic -march=x86-64 -auxbase ice-cp_lexer_new_from_tokens.min -version -o /tmp/ccTNXXhm.s GNU C++ (GCC) version 4.6.0 20101207 (experimental) (x86_64-unknown-linux-gnu) compiled by GNU C version 4.6.0 20101207 (experimental), GMP version 4.3.2, MPFR version 3.0.0-p3, MPC version 0.8.2 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 GNU C++ (GCC) version 4.6.0 20101207 (experimental) (x86_64-unknown-linux-gnu) compiled by GNU C version 4.6.0 20101207 (experimental), GMP version 4.3.2, MPFR version 3.0.0-p3, MPC version 0.8.2 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Compiler executable checksum: 58dd45b357216c1e9d23aab2b8f87581 ice-cp_lexer_new_from_tokens.min.ii:11:1: error: expected identifier before ‘{’ token ice-cp_lexer_new_from_tokens.min.ii:11:1: error: expected ‘)’ before ‘{’ token ice-cp_lexer_new_from_tokens.min.ii:11:1: error: ISO C++ forbids declaration of ‘insert’ with no type [-fpermissive] ice-cp_lexer_new_from_tokens.min.ii:12:1: error: expected ‘}’ at end of input ice-cp_lexer_new_from_tokens.min.ii:12:1: error: expected ‘;’ after class definition ice-cp_lexer_new_from_tokens.min.ii:12:1: error: expected template-argument before ‘;’ token ice-cp_lexer_new_from_tokens.min.ii:12:1: error: expected ‘’ before ‘;’ token ice-cp_lexer_new_from_tokens.min.ii:12:1: error: expected ‘::’ before ‘;’ token ice-cp_lexer_new_from_tokens.min.ii:12:1: error: expected unqualified-id before ‘;’ token ice-cp_lexer_new_from_tokens.min.ii:12:1: error: expected ‘}’ at end of input ice-cp_lexer_new_from_tokens.min.ii:12:1: error: expected ‘;’ after struct definition ice-cp_lexer_new_from_tokens.min.ii:12:1: internal compiler error: in cp_lexer_new_from_tokens, at cp/parser.c:464 Please submit a full bug report,
[Bug c++/46701] [C++0x] ICE in build_data_member_initialization, at cp/semantics.c:5503
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46701 Andreas Beckmann gcc at abeckmann dot de changed: What|Removed |Added CC||gcc at abeckmann dot de --- Comment #8 from Andreas Beckmann gcc at abeckmann dot de 2010-12-09 01:02:18 UTC --- Another small minimized testcase for this problem which fails on 4.6 and succeeds on 4.5: = 8 = struct A { int i ; } ; struct B { const A a ; constexpr B () : a ( A () ) { } } ; = 8 = $ g++-trunk -v -c -W -Wall -std=c++0x PR46701.min.ii Using built-in specs. COLLECT_GCC=/opt/software/x86_64/gcc-trunk/bin/g++-trunk COLLECT_LTO_WRAPPER=/opt/software/x86_64/gcc-trunk/libexec/gcc/x86_64-unknown-linux-gnu/4.6.0/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: ../gcc-trunk/configure --prefix=/opt/software/x86_64/gcc-trunk --program-suffix=-trunk --enable-languages=c,c++ --enable-checking Thread model: posix gcc version 4.6.0 20101207 (experimental) (GCC) COLLECT_GCC_OPTIONS='-v' '-c' '-Wextra' '-Wall' '-std=c++0x' '-shared-libgcc' '-mtune=generic' '-march=x86-64' /opt/software/x86_64/gcc-trunk/libexec/gcc/x86_64-unknown-linux-gnu/4.6.0/cc1plus -fpreprocessed PR46701.min.ii -quiet -dumpbase PR46701.min.ii -mtune=generic -march=x86-64 -auxbase PR46701.min -Wextra -Wall -std=c++0x -version -o /tmp/cc22qtoi.s GNU C++ (GCC) version 4.6.0 20101207 (experimental) (x86_64-unknown-linux-gnu) compiled by GNU C version 4.6.0 20101207 (experimental), GMP version 4.3.2, MPFR version 3.0.0-p3, MPC version 0.8.2 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 GNU C++ (GCC) version 4.6.0 20101207 (experimental) (x86_64-unknown-linux-gnu) compiled by GNU C version 4.6.0 20101207 (experimental), GMP version 4.3.2, MPFR version 3.0.0-p3, MPC version 0.8.2 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Compiler executable checksum: 58dd45b357216c1e9d23aab2b8f87581 PR46701.min.ii: In constructor ‘constexpr B::B()’: PR46701.min.ii:11:4: internal compiler error: in build_data_member_initialization, at cp/semantics.c:5489 Please submit a full bug report,
[Bug bootstrap/44455] GCC fails to build if MPFR 3.0.0 (Release Candidate) is used
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44455 Andreas Beckmann gcc at abeckmann dot de changed: What|Removed |Added CC||gcc at abeckmann dot de --- Comment #18 from Andreas Beckmann gcc at abeckmann dot de 2010-11-03 09:08:14 UTC --- Is there a chance to get this trivial fix backported to 4.4 and 4.3, too?
[Bug c++/45993] New: ICE in uses_template_parms, at cp/pt.c:7064
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45993 Summary: ICE in uses_template_parms, at cp/pt.c:7064 Product: gcc Version: 4.5.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: g...@abeckmann.de The following piece of invalid code results in an internal compiler error in 4.5.2 and 4.6 while 4.4.6 reports proper errors. = 8 = template int struct S ; template int /* 'typename' fails, too */ S [ ] = 8 = $ g++-4.5.x -std=c++0x -c ice-uses_template_parms-cp_pt-c-7064.hIM.min.ii ice-uses_template_parms-cp_pt-c-7064.hIM.min.ii:4:7: internal compiler error: in uses_template_parms, at cp/pt.c:7064 $ g++-trunk -std=c++0x -c ice-uses_template_parms-cp_pt-c-7064.hIM.min.ii ice-uses_template_parms-cp_pt-c-7064.hIM.min.ii:4:7: internal compiler error: in uses_template_parms, at cp/pt.c:7111 If I remove -std=c++0x, I get a warning first: warning: lambda expressions only available with -std=c++0x or ... internal compiler error: in uses_template_parms, at cp/pt.c:7064 $ g++-4.4.x -std=c++0x -c ice-uses_template_parms-cp_pt-c-7064.hIM.min.ii ice-uses_template_parms-cp_pt-c-7064.hIM.min.ii:4: error: an array reference cannot appear in a constant-expression ice-uses_template_parms-cp_pt-c-7064.hIM.min.ii:4: error: template argument 1 is invalid ice-uses_template_parms-cp_pt-c-7064.hIM.min.ii:4: error: expected unqualified-id at end of input Verbose output from 4.5.2: $ g++-4.5.x -v -std=c++0x -c ice-uses_template_parms-cp_pt-c-7064.hIM.min.ii Using built-in specs. COLLECT_GCC=/opt/software/x86_64/gcc-4.5.x/bin/g++-4.5.x COLLECT_LTO_WRAPPER=/opt/software/x86_64/gcc-4.5.x/libexec/gcc/x86_64-unknown-linux-gnu/4.5.2/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: ../gcc-4_5-branch/configure --prefix=/opt/software/x86_64/gcc-4.5.x --program-suffix=-4.5.x --enable-languages=c,c++ --enable-checking Thread model: posix gcc version 4.5.2 20101011 (prerelease) (GCC) COLLECT_GCC_OPTIONS='-v' '-std=c++0x' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' /opt/software/x86_64/gcc-4.5.x/libexec/gcc/x86_64-unknown-linux-gnu/4.5.2/cc1plus -fpreprocessed ice-uses_template_parms-cp_pt-c-7064.hIM.min.ii -quiet -dumpbase ice-uses_template_parms-cp_pt-c-7064.hIM.min.ii -mtune=generic -march=x86-64 -auxbase ice-uses_template_parms-cp_pt-c-7064.hIM.min -std=c++0x -version -o /tmp/cc0RnXAH.s GNU C++ (GCC) version 4.5.2 20101011 (prerelease) (x86_64-unknown-linux-gnu) compiled by GNU C version 4.5.2 20101011 (prerelease), GMP version 4.3.2, MPFR version 3.0.0-p3, MPC version 0.8.2 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 GNU C++ (GCC) version 4.5.2 20101011 (prerelease) (x86_64-unknown-linux-gnu) compiled by GNU C version 4.5.2 20101011 (prerelease), GMP version 4.3.2, MPFR version 3.0.0-p3, MPC version 0.8.2 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Compiler executable checksum: e08c6991e75f2f1fa9ef4bafb4a73eec ice-uses_template_parms-cp_pt-c-7064.hIM.min.ii:4:7: internal compiler error: in uses_template_parms, at cp/pt.c:7064 Please submit a full bug report,
[Bug c++/45894] New: ICE: segmentation fault with -Wall
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45894 Summary: ICE: segmentation fault with -Wall Product: gcc Version: 4.5.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: g...@abeckmann.de I get an internal compiler error: Segmentation fault when compiling this code with 4.5.2/4.6.0 and -Wall. The problem disappears if I remove -Wall. 4.4.5 and 4.3.x report error: statement cannot resolve address of overloaded function == 8 === struct FOO { template typename = void void Bar () ; } ; template typename = void struct V { V ( const V ) { FOO :: Bar ; } } ; struct C { V v ; } ; struct B { C f () ; } ; struct A { C c ; B b ; A () : c ( b . f () ) { } } ; == 8 === $ g++-4.5.x -v -std=c++0x -Wall -c segfault-ice.min.cpp Using built-in specs. COLLECT_GCC=/opt/software/x86_64/gcc-4.5.x/bin/g++-4.5.x COLLECT_LTO_WRAPPER=/opt/software/x86_64/gcc-4.5.x/libexec/gcc/x86_64-unknown-linux-gnu/4.5.2/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: ../gcc-4_5-branch/configure --prefix=/opt/software/x86_64/gcc-4.5.x --program-suffix=-4.5.x --enable-languages=c,c++ --enable-checking Thread model: posix gcc version 4.5.2 20101004 (prerelease) (GCC) COLLECT_GCC_OPTIONS='-v' '-std=c++0x' '-Wall' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' /opt/software/x86_64/gcc-4.5.x/libexec/gcc/x86_64-unknown-linux-gnu/4.5.2/cc1plus -quiet -v -D_GNU_SOURCE segfault-ice.min.cpp -quiet -dumpbase segfault-ice.min.cpp -mtune=generic -march=x86-64 -auxbase segfault-ice.min -Wall -std=c++0x -version -o /tmp/cco6qHiQ.s GNU C++ (GCC) version 4.5.2 20101004 (prerelease) (x86_64-unknown-linux-gnu) compiled by GNU C version 4.5.2 20101004 (prerelease), GMP version 4.3.2, MPFR version 3.0.0-p3, MPC version 0.8.2 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 ignoring nonexistent directory /opt/software/x86_64/gcc-4.5.x/lib/gcc/x86_64-unknown-linux-gnu/4.5.2/../../../../x86_64-unknown-linux-gnu/include #include ... search starts here: #include ... search starts here: /opt/software/x86_64/gcc-4.5.x/lib/gcc/x86_64-unknown-linux-gnu/4.5.2/../../../../include/c++/4.5.2 /opt/software/x86_64/gcc-4.5.x/lib/gcc/x86_64-unknown-linux-gnu/4.5.2/../../../../include/c++/4.5.2/x86_64-unknown-linux-gnu /opt/software/x86_64/gcc-4.5.x/lib/gcc/x86_64-unknown-linux-gnu/4.5.2/../../../../include/c++/4.5.2/backward /usr/local/include /opt/software/x86_64/gcc-4.5.x/include /opt/software/x86_64/gcc-4.5.x/lib/gcc/x86_64-unknown-linux-gnu/4.5.2/include /opt/software/x86_64/gcc-4.5.x/lib/gcc/x86_64-unknown-linux-gnu/4.5.2/include-fixed /usr/include End of search list. GNU C++ (GCC) version 4.5.2 20101004 (prerelease) (x86_64-unknown-linux-gnu) compiled by GNU C version 4.5.2 20101004 (prerelease), GMP version 4.3.2, MPFR version 3.0.0-p3, MPC version 0.8.2 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Compiler executable checksum: 8c3e00fe3cfb9293e6e3b31a6f7f6d80 segfault-ice.min.cpp: In copy constructor ‘V template-parameter-1-1 ::V(const V template-parameter-1-1 )’: segfault-ice.min.cpp:11:18: warning: statement is a reference, not call, to function ‘FOO::Bar [with template-parameter-1-1 = void]’ segfault-ice.min.cpp: In copy constructor ‘V template-parameter-1-1 ::V(const V template-parameter-1-1 ) [with template-parameter-1-1 = void, V template-parameter-1-1 = V]’: segfault-ice.min.cpp:15:1: instantiated from here segfault-ice.min.cpp:11:3: internal compiler error: Segmentation fault Please submit a full bug report,
[Bug middle-end/45854] New: ICE in redirect_eh_edge_1, at tree-eh.c:2131
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45854 Summary: ICE in redirect_eh_edge_1, at tree-eh.c:2131 Product: gcc Version: 4.5.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: unassig...@gcc.gnu.org ReportedBy: g...@abeckmann.de The following code fails in 4.5.2 (but not 4.4.5, 4.3.6 or 4.6.0) in optimization levels -O2 and -O3: == 8 == template typename = void struct X { } ; struct Y { Y () ; } ; template typename = X struct T { void f () { f () ; } } ; struct S { S ( X = X ()) ; ~S () { T () . f () ; } } ; struct { S s ; Y y ; } a ; == 8 == which this error: _.cpp:28:3: warning: non-local variable ‘anonymous struct a’ uses anonymous type _.cpp: In constructor ‘anonymous struct::._0()’: _.cpp:28:5: internal compiler error: in redirect_eh_edge_1, at tree-eh.c:2131 $ g++-4.5.x -v -O2 -c ice-redirect_eh_edge_1-tree-eh-c-2131.min.cpp Using built-in specs. COLLECT_GCC=/opt/software/x86_64/gcc-4.5.x/bin/g++-4.5.x COLLECT_LTO_WRAPPER=/opt/software/x86_64/gcc-4.5.x/libexec/gcc/x86_64-unknown-linux-gnu/4.5.2/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: ../gcc-4_5-branch/configure --prefix=/opt/software/x86_64/gcc-4.5.x --program-suffix=-4.5.x --enable-languages=c,c++ --enable-checking Thread model: posix gcc version 4.5.2 20100930 (prerelease) (GCC) COLLECT_GCC_OPTIONS='-v' '-O2' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' /opt/software/x86_64/gcc-4.5.x/libexec/gcc/x86_64-unknown-linux-gnu/4.5.2/cc1plus -quiet -v -D_GNU_SOURCE ice-redirect_eh_edge_1-tree-eh-c-2131.min.cpp -quiet -dumpbase ice-redirect_eh_edge_1-tree-eh-c-2131.min.cpp -mtune=generic -march=x86-64 -auxbase ice-redirect_eh_edge_1-tree-eh-c-2131.min -O2 -version -o /tmp/ccbGteU6.s GNU C++ (GCC) version 4.5.2 20100930 (prerelease) (x86_64-unknown-linux-gnu) compiled by GNU C version 4.5.2 20100930 (prerelease), GMP version 4.3.2, MPFR version 3.0.0-p3, MPC version 0.8.2 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 ignoring nonexistent directory /opt/software/x86_64/gcc-4.5.x/lib/gcc/x86_64-unknown-linux-gnu/4.5.2/../../../../x86_64-unknown-linux-gnu/include #include ... search starts here: #include ... search starts here: /opt/software/x86_64/gcc-4.5.x/lib/gcc/x86_64-unknown-linux-gnu/4.5.2/../../../../include/c++/4.5.2 /opt/software/x86_64/gcc-4.5.x/lib/gcc/x86_64-unknown-linux-gnu/4.5.2/../../../../include/c++/4.5.2/x86_64-unknown-linux-gnu /opt/software/x86_64/gcc-4.5.x/lib/gcc/x86_64-unknown-linux-gnu/4.5.2/../../../../include/c++/4.5.2/backward /usr/local/include /opt/software/x86_64/gcc-4.5.x/include /opt/software/x86_64/gcc-4.5.x/lib/gcc/x86_64-unknown-linux-gnu/4.5.2/include /opt/software/x86_64/gcc-4.5.x/lib/gcc/x86_64-unknown-linux-gnu/4.5.2/include-fixed /usr/include End of search list. GNU C++ (GCC) version 4.5.2 20100930 (prerelease) (x86_64-unknown-linux-gnu) compiled by GNU C version 4.5.2 20100930 (prerelease), GMP version 4.3.2, MPFR version 3.0.0-p3, MPC version 0.8.2 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Compiler executable checksum: 1be67b2d58ac92677e3812da572956df ice-redirect_eh_edge_1-tree-eh-c-2131.min.cpp:28:3: warning: non-local variable ‘anonymous struct a’ uses anonymous type ice-redirect_eh_edge_1-tree-eh-c-2131.min.cpp: In constructor ‘anonymous struct::._0()’: ice-redirect_eh_edge_1-tree-eh-c-2131.min.cpp:28:5: internal compiler error: in redirect_eh_edge_1, at tree-eh.c:2131 Please submit a full bug report,
[Bug c++/45857] New: memory exhausted compiling some variadic templates
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45857 Summary: memory exhausted compiling some variadic templates Product: gcc Version: 4.5.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: g...@abeckmann.de Created attachment 21933 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=21933 minimized testcase This looks like a regression in 4.5, couldn't reproduce it in 4.3, 4.4 or 4.6. $ ulimit -v 260 # 2.5 GB $ ulimit -t 120 $ g++-4.5.x -v -std=c++0x -O2 -c memory_hog.min.cpp Using built-in specs. COLLECT_GCC=/opt/software/x86_64/gcc-4.5.x/bin/g++-4.5.x COLLECT_LTO_WRAPPER=/opt/software/x86_64/gcc-4.5.x/libexec/gcc/x86_64-unknown-linux-gnu/4.5.2/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: ../gcc-4_5-branch/configure --prefix=/opt/software/x86_64/gcc-4.5.x --program-suffix=-4.5.x --enable-languages=c,c++ --enable-checking Thread model: posix gcc version 4.5.2 20100930 (prerelease) (GCC) COLLECT_GCC_OPTIONS='-v' '-std=c++0x' '-O2' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' /opt/software/x86_64/gcc-4.5.x/libexec/gcc/x86_64-unknown-linux-gnu/4.5.2/cc1plus -quiet -v -D_GNU_SOURCE memory_hog.min.cpp -quiet -dumpbase memory_hog.min.cpp -mtune=generic -march=x86-64 -auxbase memory_hog.min -O2 -std=c++0x -version -o /tmp/cciTomr1.s GNU C++ (GCC) version 4.5.2 20100930 (prerelease) (x86_64-unknown-linux-gnu) compiled by GNU C version 4.5.2 20100930 (prerelease), GMP version 4.3.2, MPFR version 3.0.0-p3, MPC version 0.8.2 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 ignoring nonexistent directory /opt/software/x86_64/gcc-4.5.x/lib/gcc/x86_64-unknown-linux-gnu/4.5.2/../../../../x86_64-unknown-linux-gnu/include #include ... search starts here: #include ... search starts here: /opt/software/x86_64/gcc-4.5.x/lib/gcc/x86_64-unknown-linux-gnu/4.5.2/../../../../include/c++/4.5.2 /opt/software/x86_64/gcc-4.5.x/lib/gcc/x86_64-unknown-linux-gnu/4.5.2/../../../../include/c++/4.5.2/x86_64-unknown-linux-gnu /opt/software/x86_64/gcc-4.5.x/lib/gcc/x86_64-unknown-linux-gnu/4.5.2/../../../../include/c++/4.5.2/backward /usr/local/include /opt/software/x86_64/gcc-4.5.x/include /opt/software/x86_64/gcc-4.5.x/lib/gcc/x86_64-unknown-linux-gnu/4.5.2/include /opt/software/x86_64/gcc-4.5.x/lib/gcc/x86_64-unknown-linux-gnu/4.5.2/include-fixed /usr/include End of search list. GNU C++ (GCC) version 4.5.2 20100930 (prerelease) (x86_64-unknown-linux-gnu) compiled by GNU C version 4.5.2 20100930 (prerelease), GMP version 4.3.2, MPFR version 3.0.0-p3, MPC version 0.8.2 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Compiler executable checksum: 1be67b2d58ac92677e3812da572956df memory_hog.min.cpp: In instantiation of ‘_Tuple_impl0, void*, X ’: memory_hog.min.cpp:28:1: instantiated from ‘tuplevoid*, X ’ memory_hog.min.cpp:51:27: instantiated from here memory_hog.min.cpp:15:1: warning: direct base ‘_Head_base’ inaccessible in ‘_Tuple_impl0, void*, X ’ due to ambiguity virtual memory exhausted: Cannot allocate memory
[Bug c++/45609] New: 'is used uninitialized' becomes 'may be used uninitialized' on unrelated code changes (namespace addition)
(I looked for duplicate -Wuninitialized bugs but didn't see anything similar) In the attached minimized testcase I get a clear 'is used uninitialized' warning downgraded to a 'may be used uninitialized' warning on unrelated code changes. The program compiles correctly with the following flags: -O3 -Wall To move one function definition into a namespace, add -DBAD_NAMESPACE and get the wrong warning. Reordering/removing/adding/changing the sizes of local variables makes the warning restore to 'is used uninitialized', one example can be enabled by -DGOOD_ORDER This is a regression since 4.3 as 4.2 always gives a 'is used uninitialized' warning. I tested with the following compilers from SVN on amd64 and x86 architectures: g++-trunk (GCC) 4.6.0 20100901 (experimental) == BAD g++-4.5.x (GCC) 4.5.2 20100901 (prerelease) == BAD g++-4.4.x (GCC) 4.4.5 20100824 (prerelease) == BAD g++-4.3.x (GCC) 4.3.6 20100824 (prerelease) == BAD g++-4.2.x (GCC) 4.2.5 20090330 (prerelease) == OK + g++-4.5.x -std=c++0x -O3 -Wall -c PRmbuuitf.cpp PRmbuuitf.cpp: In function 'void test()': PRmbuuitf.cpp:66:25: warning: 'b$t$MBUUITF' is used uninitialized in this function PRmbuuitf.cpp:64:5: note: 'b$t$MBUUITF' was declared here + g++-4.5.x -std=c++0x -O3 -Wall -c PRmbuuitf.cpp -DBAD_NAMESPACE PRmbuuitf.cpp: In function 'void test()': vvv PRmbuuitf.cpp:66:25: warning: 'b$t$MBUUITF' may be used uninitialized in this function ^^^ PRmbuuitf.cpp:64:5: note: 'b$t$MBUUITF' was declared here + g++-4.5.x -std=c++0x -O3 -Wall -c PRmbuuitf.cpp -DBAD_NAMESPACE -DGOOD_ORDER PRmbuuitf.cpp: In function 'void test()': PRmbuuitf.cpp:66:25: warning: 'b$t$MBUUITF' is used uninitialized in this function PRmbuuitf.cpp:64:5: note: 'b$t$MBUUITF' was declared here + g++-4.2.x -O3 -Wall -c PRmbuuitf.cpp -DBAD_NAMESPACE PRmbuuitf.cpp: In function 'void test()': PRmbuuitf.cpp:66: warning: 'b.B::t.T::MBUUITF' is used uninitialized in this function PRmbuuitf.cpp:64: note: 'b.B::t.T::MBUUITF' was declared here -- Summary: 'is used uninitialized' becomes 'may be used uninitialized' on unrelated code changes (namespace addition) Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: gcc at abeckmann dot de http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45609
[Bug c++/45609] 'is used uninitialized' becomes 'may be used uninitialized' on unrelated code changes (namespace addition)
--- Comment #1 from gcc at abeckmann dot de 2010-09-09 06:24 --- Created an attachment (id=21746) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21746action=view) minimized testcase -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45609
[Bug libstdc++/45613] New: bits/random.h misses include guards
I just noticed that bits/random.h does not have include guards. -- Summary: bits/random.h misses include guards Product: gcc Version: 4.5.3 Status: UNCONFIRMED Severity: minor Priority: P3 Component: libstdc++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: gcc at abeckmann dot de http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45613
[Bug libstdc++/42319] New: incomplete type char_traits if parallel mode is active
dot org ReportedBy: gcc at abeckmann dot de http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42319
[Bug c++/40146] Unexplained 'anonymous' is used uninitialized in this function warning
--- Comment #9 from gcc at abeckmann dot de 2009-10-16 11:05 --- Created an attachment (id=18809) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18809action=view) different test case I've seen this spurious warning, too, and could reduce it to a different, much smaller test case. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40146
[Bug c++/40146] Unexplained 'anonymous' is used uninitialized in this function warning
--- Comment #10 from gcc at abeckmann dot de 2009-10-16 13:11 --- === compile command (shows the spurious warning) === x86_64-linux-gnu-g++-4.4.x -O2 -W -Wall -DSPURIOUS_WARNING -c anonymous-iuuitf.cpp === === === compile command (no spurious warning) === x86_64-linux-gnu-g++-4.4.x -O2 -W -Wall -c anonymous-iuuitf.cpp === === === spurious warning reported: === anonymous-iuuitf.cpp: In function (static initializers for anonymous-iuuitf.cpp): anonymous-iuuitf.cpp:45: warning: anonymous is used uninitialized in this function === === The spurious warning also occurs with a i686 4.4.x compiler. It does not happen with 4.3.x or trunk/4.5.x (both x86_64 and i686). The warning also disappears if optimization is reduced from -O2 to -O1. === verbose output === $ x86_64-linux-gnu-g++-4.4.x -v -O2 -W -Wall -DSPURIOUS_WARNING -c anonymous-iuuitf.cpp Using built-in specs. Target: x86_64-unknown-linux-gnu Configured with: ../gcc-4_4-branch/configure --prefix=/opt/software/x86_64/gcc-4.4.x --program-suffix=-4.4.x --enable-languages=c,c++ --enable-checking Thread model: posix gcc version 4.4.3 20091016 (prerelease) (GCC) COLLECT_GCC_OPTIONS='-v' '-O2' '-W' '-Wall' '-DSPURIOUS_WARNING' '-c' '-shared-libgcc' '-mtune=generic' /opt/software/x86_64/gcc-4.4.x/libexec/gcc/x86_64-unknown-linux-gnu/4.4.3/cc1plus -quiet -v -D_GNU_SOURCE -DSPURIOUS_WARNING anonymous-iuuitf.cpp -quiet -dumpbase anonymous-iuuitf.cpp -mtune=generic -auxbase anonymous-iuuitf -O2 -W -Wall -version -o /tmp/ccrjG8Y8.s ignoring nonexistent directory /opt/software/x86_64/gcc-4.4.x/lib/gcc/x86_64-unknown-linux-gnu/4.4.3/../../../../x86_64-unknown-linux-gnu/include #include ... search starts here: #include ... search starts here: /opt/software/x86_64/gcc-4.4.x/lib/gcc/x86_64-unknown-linux-gnu/4.4.3/../../../../include/c++/4.4.3 /opt/software/x86_64/gcc-4.4.x/lib/gcc/x86_64-unknown-linux-gnu/4.4.3/../../../../include/c++/4.4.3/x86_64-unknown-linux-gnu /opt/software/x86_64/gcc-4.4.x/lib/gcc/x86_64-unknown-linux-gnu/4.4.3/../../../../include/c++/4.4.3/backward /usr/local/include /opt/software/x86_64/gcc-4.4.x/include /opt/software/x86_64/gcc-4.4.x/lib/gcc/x86_64-unknown-linux-gnu/4.4.3/include /opt/software/x86_64/gcc-4.4.x/lib/gcc/x86_64-unknown-linux-gnu/4.4.3/include-fixed /usr/include End of search list. GNU C++ (GCC) version 4.4.3 20091016 (prerelease) (x86_64-unknown-linux-gnu) compiled by GNU C version 4.4.3 20091016 (prerelease), GMP version 4.3.1, MPFR version 2.4.1-p2. GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Compiler executable checksum: 2f5c889faec03641af0e9a45c39b0565 anonymous-iuuitf.cpp: In function (static initializers for anonymous-iuuitf.cpp): anonymous-iuuitf.cpp:45: warning: anonymous is used uninitialized in this function COLLECT_GCC_OPTIONS='-v' '-O2' '-W' '-Wall' '-DSPURIOUS_WARNING' '-c' '-shared-libgcc' '-mtune=generic' as -V -Qy -o anonymous-iuuitf.o /tmp/ccrjG8Y8.s GNU assembler version 2.19.91 (x86_64-linux-gnu) using BFD version (GNU Binutils for Debian) 2.19.91.20091006 COMPILER_PATH=/opt/software/x86_64/gcc-4.4.x/libexec/gcc/x86_64-unknown-linux-gnu/4.4.3/:/opt/software/x86_64/gcc-4.4.x/libexec/gcc/x86_64-unknown-linux-gnu/4.4.3/:/opt/software/x86_64/gcc-4.4.x/libexec/gcc/x86_64-unknown-linux-gnu/:/opt/software/x86_64/gcc-4.4.x/lib/gcc/x86_64-unknown-linux-gnu/4.4.3/:/opt/software/x86_64/gcc-4.4.x/lib/gcc/x86_64-unknown-linux-gnu/ LIBRARY_PATH=/opt/software/x86_64/gcc-4.4.x/lib/gcc/x86_64-unknown-linux-gnu/4.4.3/:/opt/software/x86_64/gcc-4.4.x/lib/gcc/x86_64-unknown-linux-gnu/4.4.3/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/opt/software/x86_64/gcc-4.4.x/lib/gcc/x86_64-unknown-linux-gnu/4.4.3/../../../:/lib/:/usr/lib/ COLLECT_GCC_OPTIONS='-v' '-O2' '-W' '-Wall' '-DSPURIOUS_WARNING' '-c' '-shared-libgcc' '-mtune=generic' === === -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40146
[Bug c++/38908] [4.4 regression] Unexplained 'anonymous' is used uninitialized in this function warning in cc1plus -m64
--- Comment #19 from gcc at abeckmann dot de 2009-10-16 13:13 --- some cases where this warning still occurs in 4.4 are documented in #40146 -- gcc at abeckmann dot de changed: What|Removed |Added CC||gcc at abeckmann dot de http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38908
[Bug libstdc++/41249] New: [c++0x] std::list::splice() binding rvalue-reference to lvalue problem
This bug is proably a followup to #40486: [c++0x] rvalue-references no longer bind to lvalues std::list::splice() no longer works in trunk in c++0x mode: === 8 == #include list int main() { std::listint l; l.insert(l.end(), 1); l.insert(l.end(), 2); std::listint::iterator it = l.insert(l.end(), 3); l.splice(l.begin(), l, it); } === 8 == This code works fine in 3.4 to 4.5 and also in 4.3/4.4 in c++0x mode, but compilation fails in 4.5 in c++0x mode: $ g++-trunk -W -Wall -std=c++0x -v splicebug45x.cpp ... GNU C++ (GCC) version 4.5.0 20090902 (experimental) (x86_64-unknown-linux-gnu) compiled by GNU C version 4.5.0 20090902 (experimental), GMP version 4.3.1, MPFR version 2.4.1-p2 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Compiler executable checksum: dc8948bf5433867ce447f5693e715548 splicebug45x.cpp: In function int main(): splicebug45x.cpp:9:27: error: cannot bind std::listint lvalue to std::listint /opt/software/x86_64/gcc-trunk/lib/gcc/x86_64-unknown-linux-gnu/4.5.0/../../../../include/c++/4.5.0/bits/stl_list.h:1178:7: error: initializing argument 2 of void std::list_Tp, _Alloc::splice(std::list_Tp, _Alloc::iterator, std::list_Tp, _Alloc, std::list_Tp, _Alloc::iterator) [with _Tp = int, _Alloc = std::allocatorint, std::list_Tp, _Alloc::iterator = std::_List_iteratorint] -- Summary: [c++0x] std::list::splice() binding rvalue-reference to lvalue problem Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: gcc at abeckmann dot de http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41249
[Bug c++/39822] New: ICE: Segmentation fault -- with function template default template arguments in c++0x mode
The following testcase produces a segmentation fault in --std=c++0x mode (in 4.3, 4.4, 4.5): - 8 - template typename struct A ; template typename X, template typename class = A void test ( X ) { A int T ; test ( T ) ; } - 8 - = 4.3.4 -std=c++0x = $ x86_64-linux-gnu-g++-4.3.x -v -std=c++0x -c segfault.min.ii Using built-in specs. Target: x86_64-unknown-linux-gnu Configured with: ../gcc-4_3-branch/configure --prefix=/opt/software/gcc-x86_64/gcc-4.3.x --program-suffix=-4.3.x --enable-languages=c,c++ --enable-checking Thread model: posix gcc version 4.3.4 20090413 (prerelease) (GCC) COLLECT_GCC_OPTIONS='-v' '-std=c++0x' '-c' '-shared-libgcc' '-mtune=generic' /opt/software/gcc-x86_64/gcc-4.3.x/libexec/gcc/x86_64-unknown-linux-gnu/4.3.4/cc1plus -fpreprocessed segfault.min.ii -quiet -dumpbase segfault.min.ii -mtune=generic -auxbase segfault.min -std=c++0x -version -o /tmp/cccslkh4.s GNU C++ (GCC) version 4.3.4 20090413 (prerelease) (x86_64-unknown-linux-gnu) compiled by GNU C version 4.3.4 20090413 (prerelease), GMP version 4.2.2, MPFR version 2.3.1. GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Compiler executable checksum: 922fef518d0100daafe6c2059a02f6bf segfault.min.ii: In function 'void test(X)': segfault.min.ii:2: internal compiler error: Segmentation fault = = = 4.3.4 = $ x86_64-linux-gnu-g++-4.3.x -c segfault.min.ii segfault.min.ii:4: error: default template arguments may not be used in function templates segfault.min.ii: In function 'void test(X)': segfault.min.ii:7: error: no matching function for call to 'test(Aint)' == -- Summary: ICE: Segmentation fault -- with function template default template arguments in c++0x mode Product: gcc Version: 4.3.4 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: gcc at abeckmann dot de http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39822
[Bug c++/39822] ICE: Segmentation fault -- with function template default template arguments in c++0x mode
--- Comment #2 from gcc at abeckmann dot de 2009-04-20 17:50 --- probably a duplicate of bug #35828 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39822
[Bug c++/35828] [C++0x] ICE on default template template parameter in template function
--- Comment #6 from gcc at abeckmann dot de 2009-04-20 17:51 --- I stumbled across this ICE on a very similar testcase (on 4.3.4, 4.4.0, 4.5.0): -- 8 -- template typename struct A ; template template typename class = A void test () { test (); } -- 8 -- === 4.4.0 == $ x86_64-linux-gnu-g++-4.4.x -v -std=c++0x -c ice-in-tsubst_decl-cp_pt_c_8101.min.ii Using built-in specs. Target: x86_64-unknown-linux-gnu Configured with: ../gcc-4_4-branch/configure --prefix=/opt/software/gcc-x86_64/gcc-4.4.x --program-suffix=-4.4.x --enable-languages=c,c++ --enable-checking Thread model: posix gcc version 4.4.0 20090413 (prerelease) (GCC) COLLECT_GCC_OPTIONS='-v' '-std=c++0x' '-c' '-shared-libgcc' '-mtune=generic' /opt/software/gcc-x86_64/gcc-4.4.x/libexec/gcc/x86_64-unknown-linux-gnu/4.4.0/cc1plus -fpreprocessed ice-in-tsubst_decl-cp_pt_c_8101.min.ii -quiet -dumpbase ice-in-tsubst_decl-cp_pt_c_8101.min.ii -mtune=generic -auxbase ice-in-tsubst_decl-cp_pt_c_8101.min -std=c++0x -version -o /tmp/ccAHdc5J.s GNU C++ (GCC) version 4.4.0 20090413 (prerelease) (x86_64-unknown-linux-gnu) compiled by GNU C version 4.4.0 20090413 (prerelease), GMP version 4.2.2, MPFR version 2.3.1. GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Compiler executable checksum: 4c95a5cf24794a394976148039ecc611 ice-in-tsubst_decl-cp_pt_c_8101.min.ii: In function void test(): ice-in-tsubst_decl-cp_pt_c_8101.min.ii:1: internal compiler error: in tsubst_decl, at cp/pt.c:8101 === I also got the segmentation fault on this similar testcase, reported as bug #39822 before seeing this report: -- 8 -- template typename struct A ; template typename X, template typename class = A void test ( X ) { A int T ; test ( T ) ; } -- 8 -- -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35828
[Bug c++/39754] [4.5 Regression] ICE: tree check: accessed elt 2 of tree_vec with 1 elts in tsubst, at cp/pt.c:9248
--- Comment #5 from gcc at abeckmann dot de 2009-04-16 14:28 --- It does compile successfully using 4.4.0 built with --enable-checking. Is there anyting else to enable these tree checks? $ x86_64-linux-gnu-g++-4.4.x -v -c PR39754.min.ii echo SUCCESS Using built-in specs. Target: x86_64-unknown-linux-gnu Configured with: ../gcc-4_4-branch/configure --prefix=/opt/software/gcc-x86_64/gcc-4.4.x --program-suffix=-4.4.x --enable-languages=c,c++ --enable-checking Thread model: posix gcc version 4.4.0 20090413 (prerelease) (GCC) COLLECT_GCC_OPTIONS='-v' '-c' '-shared-libgcc' '-mtune=generic' /opt/software/gcc-x86_64/gcc-4.4.x/libexec/gcc/x86_64-unknown-linux-gnu/4.4.0/cc1plus -fpreprocessed PR39754.min.ii -quiet -dumpbase PR39754.min.ii -mtune=generic -auxbase PR39754.min -version -o /tmp/ccH60tOe.s GNU C++ (GCC) version 4.4.0 20090413 (prerelease) (x86_64-unknown-linux-gnu) compiled by GNU C version 4.4.0 20090413 (prerelease), GMP version 4.2.2, MPFR version 2.3.1. GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Compiler executable checksum: 4c95a5cf24794a394976148039ecc611 COLLECT_GCC_OPTIONS='-v' '-c' '-shared-libgcc' '-mtune=generic' as -V -Qy -o PR39754.min.o /tmp/ccH60tOe.s GNU assembler version 2.19.1 (x86_64-linux-gnu) using BFD version (GNU Binutils for Debian) 2.19.1 COMPILER_PATH=/opt/software/gcc-x86_64/gcc-4.4.x/libexec/gcc/x86_64-unknown-linux-gnu/4.4.0/:/opt/software/gcc-x86_64/gcc-4.4.x/libexec/gcc/x86_64-unknown-linux-gnu/4.4.0/:/opt/software/gcc-x86_64/gcc-4.4.x/libexec/gcc/x86_64-unknown-linux-gnu/:/opt/software/gcc-x86_64/gcc-4.4.x/lib/gcc/x86_64-unknown-linux-gnu/4.4.0/:/opt/software/gcc-x86_64/gcc-4.4.x/lib/gcc/x86_64-unknown-linux-gnu/ LIBRARY_PATH=/opt/software/gcc-x86_64/gcc-4.4.x/lib/gcc/x86_64-unknown-linux-gnu/4.4.0/:/opt/software/gcc-x86_64/gcc-4.4.x/lib/gcc/x86_64-unknown-linux-gnu/4.4.0/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/opt/software/gcc-x86_64/gcc-4.4.x/lib/gcc/x86_64-unknown-linux-gnu/4.4.0/../../../:/lib/:/usr/lib/ COLLECT_GCC_OPTIONS='-v' '-c' '-shared-libgcc' '-mtune=generic' SUCCESS -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39754
[Bug c++/39754] [4.5 Regression] ICE: tree check: accessed elt 2 of tree_vec with 1 elts in tsubst, at cp/pt.c:9248
--- Comment #2 from gcc at abeckmann dot de 2009-04-14 07:04 --- An updated testcase that compiles without errors on 4.4.0: == 8 == template typename struct A ; template typename T , typename = A T struct B { } ; template class W , class struct D { typedef W X ; A X * a ; } ; template class Y struct E { B Y * b ; } ; E int e ; == 8 == -- gcc at abeckmann dot de changed: What|Removed |Added Known to fail||4.5.0 Known to work||4.4.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39754
[Bug c++/39750] New: ICE in uses_template_parms, at cp/pt.c:6332
This looks like a ice-on-invalid-code regression in g++ 4.4/4.5: == template unsigned struct A ; template typename struct B ; template typename T , A B T { } == -- 4.4.0 -- $ x86_64-linux-gnu-gcc-4.4.x -v -std=c++0x -c ice-uses_template_parms-cp_pt.c-6333.ii Using built-in specs. Target: x86_64-unknown-linux-gnu Configured with: ../gcc-4_4-branch/configure --prefix=/opt/software/gcc-x86_64/gcc-4.4.x --program-suffix=-4.4.x --enable-languages=c,c++ Thread model: posix gcc version 4.4.0 20090410 (prerelease) (GCC) COLLECT_GCC_OPTIONS='-v' '-std=c++0x' '-c' '-mtune=generic' /opt/software/gcc-x86_64/gcc-4.4.x/libexec/gcc/x86_64-unknown-linux-gnu/4.4.0/cc1plus -fpreprocessed ice-uses_template_parms-cp_pt.c-6333.ii -quiet -dumpbase ice-uses_template_parms-cp_pt.c-6333.ii -mtune=generic -auxbase ice-uses_template_parms-cp_pt.c-6333 -std=c++0x -version -o /tmp/cc39e69f.s GNU C++ (GCC) version 4.4.0 20090410 (prerelease) (x86_64-unknown-linux-gnu) compiled by GNU C version 4.4.0 20090410 (prerelease), GMP version 4.2.2, MPFR version 2.3.1. GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Compiler executable checksum: 657fe6b0026e91b1c11fd1c9e3d93a45 ice-uses_template_parms-cp_pt.c-6333.ii:7: internal compiler error: in uses_template_parms, at cp/pt.c:6332 -- 4.5.0 -- $ x86_64-linux-gnu-gcc-trunk -v -std=c++0x -c ice-uses_template_parms-cp_pt.c-6333.ii Using built-in specs. Target: x86_64-unknown-linux-gnu Configured with: ../gcc-trunk/configure --prefix=/opt/software/gcc-x86_64/gcc-trunk --program-suffix=-trunk --enable-languages=c,c++ Thread model: posix gcc version 4.5.0 20090412 (experimental) (GCC) COLLECT_GCC_OPTIONS='-v' '-std=c++0x' '-c' '-mtune=generic' /opt/software/gcc-x86_64/gcc-trunk/libexec/gcc/x86_64-unknown-linux-gnu/4.5.0/cc1plus -fpreprocessed ice-uses_template_parms-cp_pt.c-6333.ii -quiet -dumpbase ice-uses_template_parms-cp_pt.c-6333.ii -mtune=generic -auxbase ice-uses_template_parms-cp_pt.c-6333 -std=c++0x -version -o /tmp/ccNif1hj.s GNU C++ (GCC) version 4.5.0 20090412 (experimental) (x86_64-unknown-linux-gnu) compiled by GNU C version 4.5.0 20090410 (experimental), GMP version 4.2.2, MPFR version 2.3.1. GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Compiler executable checksum: b13346d60276f3352c4b7dd22e3889d7 ice-uses_template_parms-cp_pt.c-6333.ii:7: internal compiler error: in uses_template_parms, at cp/pt.c:6333 -- 4.3.x -- $ x86_64-linux-gnu-gcc-4.3.x -v -std=c++0x -c ice-uses_template_parms-cp_pt.c-6333.ii Using built-in specs. Target: x86_64-unknown-linux-gnu Configured with: ../gcc-4_3-branch/configure --prefix=/opt/software/gcc-x86_64/gcc-4.3.x --program-suffix=-4.3.x --enable-languages=c,c++ Thread model: posix gcc version 4.3.4 20090410 (prerelease) (GCC) COLLECT_GCC_OPTIONS='-v' '-std=c++0x' '-c' '-mtune=generic' /opt/software/gcc-x86_64/gcc-4.3.x/libexec/gcc/x86_64-unknown-linux-gnu/4.3.4/cc1plus -fpreprocessed ice-uses_template_parms-cp_pt.c-6333.ii -quiet -dumpbase ice-uses_template_parms-cp_pt.c-6333.ii -mtune=generic -auxbase ice-uses_template_parms-cp_pt.c-6333 -std=c++0x -version -o /tmp/ccPe9b92.s GNU C++ (GCC) version 4.3.4 20090410 (prerelease) (x86_64-unknown-linux-gnu) compiled by GNU C version 4.3.4 20090410 (prerelease), GMP version 4.2.2, MPFR version 2.3.1. GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Compiler executable checksum: d7de70b1d6112d4a739b8abc5fbe181e ice-uses_template_parms-cp_pt.c-6333.ii:5: error: template argument 1 is invalid ice-uses_template_parms-cp_pt.c-6333.ii:6: error: expected '' before '{' token ice-uses_template_parms-cp_pt.c-6333.ii:6: error: expected unqualified-id before '{' token -- Summary: ICE in uses_template_parms, at cp/pt.c:6332 Product: gcc Version: 4.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: gcc at abeckmann dot de http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39750
[Bug c++/39754] New: ICE: tree check: accessed elt 2 of tree_vec with 1 elts in tsubst, at cp/pt.c:9248
The following code produces an ICE in 4.5.0 while previous versions reported an incomplete type error: == 8 == template typename struct A ; template typename U , typename struct B { typedef U V ; A V * a ; } ; template typename W struct C { A W * a ; } ; C int c ; == 8 == -- 4.5.0 -- $ x86_64-linux-gnu-g++-trunk -v -c ice-accessed-elt-2-of-tree_vec.ii Using built-in specs. Target: x86_64-unknown-linux-gnu Configured with: ../gcc-trunk/configure --prefix=/opt/software/gcc-x86_64/gcc-trunk --program-suffix=-trunk --enable-languages=c,c++ Thread model: posix gcc version 4.5.0 20090410 (experimental) (GCC) COLLECT_GCC_OPTIONS='-v' '-c' '-shared-libgcc' '-mtune=generic' /opt/software/gcc-x86_64/gcc-trunk/libexec/gcc/x86_64-unknown-linux-gnu/4.5.0/cc1plus -fpreprocessed ice-accessed-elt-2-of-tree_vec.ii -quiet -dumpbase ice-accessed-elt-2-of-tree_vec.ii -mtune=generic -auxbase ice-accessed-elt-2-of-tree_vec -version -o /tmp/ccSsFbFa.s GNU C++ (GCC) version 4.5.0 20090412 (experimental) (x86_64-unknown-linux-gnu) compiled by GNU C version 4.5.0 20090410 (experimental), GMP version 4.2.2, MPFR version 2.3.1. GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Compiler executable checksum: b13346d60276f3352c4b7dd22e3889d7 ice-accessed-elt-2-of-tree_vec.ii: In instantiation of Cint: ice-accessed-elt-2-of-tree_vec.ii:11: instantiated from here ice-accessed-elt-2-of-tree_vec.ii:9: internal compiler error: tree check: accessed elt 2 of tree_vec with 1 elts in tsubst, at cp/pt.c:9248 -- 4.4.0 -- $ x86_64-linux-gnu-g++-4.4.x -v -c ice-accessed-elt-2-of-tree_vec.ii Using built-in specs. Target: x86_64-unknown-linux-gnu Configured with: ../gcc-4_4-branch/configure --prefix=/opt/software/gcc-x86_64/gcc-4.4.x --program-suffix=-4.4.x --enable-languages=c,c++ --enable-checking Thread model: posix gcc version 4.4.0 20090413 (prerelease) (GCC) COLLECT_GCC_OPTIONS='-v' '-c' '-shared-libgcc' '-mtune=generic' /opt/software/gcc-x86_64/gcc-4.4.x/libexec/gcc/x86_64-unknown-linux-gnu/4.4.0/cc1plus -fpreprocessed ice-accessed-elt-2-of-tree_vec.ii -quiet -dumpbase ice-accessed-elt-2-of-tree_vec.ii -mtune=generic -auxbase ice-accessed-elt-2-of-tree_vec -version -o /tmp/ccEdsa3a.s GNU C++ (GCC) version 4.4.0 20090413 (prerelease) (x86_64-unknown-linux-gnu) compiled by GNU C version 4.4.0 20090413 (prerelease), GMP version 4.2.2, MPFR version 2.3.1. GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Compiler executable checksum: 4c95a5cf24794a394976148039ecc611 ice-accessed-elt-2-of-tree_vec.ii: In instantiation of Cint: ice-accessed-elt-2-of-tree_vec.ii:11: instantiated from here ice-accessed-elt-2-of-tree_vec.ii:9: error: CW::a has incomplete type ice-accessed-elt-2-of-tree_vec.ii:1: error: declaration of struct Aint* -- Summary: ICE: tree check: accessed elt 2 of tree_vec with 1 elts in tsubst, at cp/pt.c:9248 Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: gcc at abeckmann dot de http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39754
[Bug libstdc++/38080] New: dead links in libstdc++ headers
The libstdc++ headers contain several links to online documentation, e.g. http://gcc.gnu.org/onlinedocs/libstdc++/17_intro/howto.html#5 but these pages are no longer available, probably due to a rearrangement on the webserver. The sources should be updated to deliver current links in future releases, but eventually the webserver should also get redirection rules added to redirect requests for the old to the new location. -- Summary: dead links in libstdc++ headers Product: gcc Version: 4.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: gcc at abeckmann dot de http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38080
[Bug libgomp/26165] Cannot find libgomp.spec after 'make install' on x86_64 and ppc64
--- Comment #15 from gcc at abeckmann dot de 2008-07-12 16:01 --- Hi, this bug (not searching for libgomp.spec in the correct place) is still present in the gcc-4_3-branch as of today (r137745). Configured on an amd64 Debian testing/unstable machine: ../gcc-4_3-branch/configure --prefix=/.../some/where/gcc-4.3.x --enable-languages=c,c++ There are two (identical) libgomp.spec installed in .../gcc-4.3.x/lib{32,64}/ and after copying one to lib/ it is also found. Andreas -- gcc at abeckmann dot de changed: What|Removed |Added CC||gcc at abeckmann dot de http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26165
[Bug libstdc++/36552] New: includes itself: ext/pb_ds/detail/left_child_next_sibling_heap_/null_metadata.hpp
The ext/pb_ds/detail/left_child_next_sibling_heap_/null_metadata.hpp header has a line #include ext/pb_ds/detail/left_child_next_sibling_heap_/null_metadata.hpp which attempts to include the file itself for no good reason. Either some other header was meant to be included and this should be fixed or this superfluous #include should be dropped completely in order not to confuse people (or scripts trying to find #include cycles). Andreas -- Summary: includes itself: ext/pb_ds/detail/left_child_next_sibling_heap_/null_meta data.hpp Product: gcc Version: 4.3.1 Status: UNCONFIRMED Severity: minor Priority: P3 Component: libstdc++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: gcc at abeckmann dot de http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36552
[Bug c++/34357] New: internal compiler error: in layout_type, at stor-layout.c:1864
The following code fragment (generated during a delta debugging session) produces an ICE: == template typename struct iterator_traits { template typename ForwardIterator , iterator_traits ForwardIterator __attribute__ __visibility__ ( default ) == $ g++-trunk -v -c ice.cpp Using built-in specs. Target: i686-pc-linux-gnu Configured with: ./configure --prefix=/tmp --program-suffix=-trunk --enable-languages=c,c++ Thread model: posix gcc version 4.3.0 20071206 (experimental) (GCC) COLLECT_GCC_OPTIONS='-v' '-c' '-shared-libgcc' '-mtune=generic' /tmp/libexec/gcc/i686-pc-linux-gnu/4.3.0/cc1plus -quiet -v -D_GNU_SOURCE ice.cpp -quiet -dumpbase ice.cpp -mtune=generic -auxbase ice -version -o /tmp/cch00yQX.s ignoring nonexistent directory /tmp/lib/gcc/i686-pc-linux-gnu/4.3.0/../../../../i686-pc-linux-gnu/include #include ... search starts here: #include ... search starts here: /tmp/lib/gcc/i686-pc-linux-gnu/4.3.0/../../../../include/c++/4.3.0 /tmp/lib/gcc/i686-pc-linux-gnu/4.3.0/../../../../include/c++/4.3.0/i686-pc-linux-gnu /tmp/lib/gcc/i686-pc-linux-gnu/4.3.0/../../../../include/c++/4.3.0/backward /usr/local/include /tmp/include /tmp/lib/gcc/i686-pc-linux-gnu/4.3.0/include /tmp/lib/gcc/i686-pc-linux-gnu/4.3.0/include-fixed /usr/include End of search list. GNU C++ (GCC) version 4.3.0 20071206 (experimental) (i686-pc-linux-gnu) compiled by GNU C version 4.3.0 20071206 (experimental), GMP version 4.2.2, MPFR version 2.3.0. GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Compiler executable checksum: 905119d664de60becf7da68735772a8c ice.cpp:2: warning: __visibility__ attribute ignored on non-class types ice.cpp:2: internal compiler error: in layout_type, at stor-layout.c:1864 Please submit a full bug report, -- Summary: internal compiler error: in layout_type, at stor- layout.c:1864 Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: gcc at abeckmann dot de GCC build triplet: i686-pc-linux-gnu GCC host triplet: i686-pc-linux-gnu GCC target triplet: i686-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34357
[Bug c++/34357] internal compiler error: in layout_type, at stor-layout.c:1864
--- Comment #1 from gcc at abeckmann dot de 2007-12-06 13:02 --- Also present in gcc version 4.2.3 20071123 (prerelease) (Debian 4.2.2-4) == internal compiler error: in layout_type, at stor-layout.c:1851 Not found in gcc version 4.1.3 20071019 (prerelease) (Debian 4.1.2-17) gcc version 4.0.4 20060904 (prerelease) (Debian 4.0.3-7) gcc version 3.4.6 (Debian 3.4.6-6) gcc version 3.3.6 (Debian 1:3.3.6-15) (reports (different kinds of) syntax errors in all these versions -- gcc at abeckmann dot de changed: What|Removed |Added Known to fail||4.3.0 4.2.3 Known to work||4.1.3 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34357
[Bug tree-optimization/33361] ICE in find_outermost_region_in_block, at tree-cfg.c:4803
--- Comment #6 from gcc at abeckmann dot de 2007-09-17 17:35 --- Created an attachment (id=14216) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14216action=view) minimal testcase The ICE only occurs with -O3 and above. $ /suse/NOBACKUP/gcc/gcc-4.2-branch/bin/g++ -v -O3 -fopenmp -c PR33361.min.ii Using built-in specs. Target: i686-pc-linux-gnu Configured with: ../gcc-4_2-branch/configure --enable-languages=c,c++ --prefix=/suse/NOBACKUP/gcc/gcc-4.2-branch Thread model: posix gcc version 4.2.2 20070910 (prerelease) /suse/NOBACKUP/gcc/gcc-4.2-branch/libexec/gcc/i686-pc-linux-gnu/4.2.2/cc1plus -fpreprocessed PR33361.min.ii -quiet -dumpbase PR33361.min.ii -mtune=generic -auxbase PR33361.min -O3 -version -fopenmp -o /tmp/ccdvfpMn.s GNU C++ version 4.2.2 20070910 (prerelease) (i686-pc-linux-gnu) compiled by GNU C version 4.2.2 20070908 (prerelease). GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Compiler executable checksum: 4c766e638e42be49e7fc1a3400590598 PR33361.min.ii: In function void f(): PR33361.min.ii:25: internal compiler error: in find_outermost_region_in_block, at tree-cfg.c:4803 -- gcc at abeckmann dot de changed: What|Removed |Added Attachment #14177|0 |1 is obsolete|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33361
[Bug tree-optimization/33361] ICE in find_outermost_region_in_block, at tree-cfg.c:4803
--- Comment #1 from gcc at abeckmann dot de 2007-09-09 12:51 --- Created an attachment (id=14177) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14177action=view) testcase (reduced to be 500k) Sorry for the delay of the testcase, I had to reduce it from 1.9 MB to 440 KB. (Is there some helper script that can do this in a more or less brute force way? Strip complete namespaces, classes, member functions, ... from the code, recompile and check for a certain error message? Continue it it's still there and backtrack otherwise?) $ /suse/NOBACKUP/gcc/gcc-4.2-branch/bin/g++ -v -march=i686 -O3 -fopenmp -c PR33361.ii Using built-in specs. Target: i686-pc-linux-gnu Configured with: ../gcc-4_2-branch/configure --enable-languages=c,c++ --prefix=/suse/NOBACKUP/gcc/gcc-4.2-branch Thread model: posix gcc version 4.2.2 20070908 (prerelease) /suse/NOBACKUP/gcc/gcc-4.2-branch/libexec/gcc/i686-pc-linux-gnu/4.2.2/cc1plus -fpreprocessed PR33361.ii -quiet -dumpbase PR33361.ii -march=i686 -auxbase PR33361 -O3 -version -fopenmp -o /tmp/ccslyrRU.s GNU C++ version 4.2.2 20070908 (prerelease) (i686-pc-linux-gnu) compiled by GNU C version 4.2.2 20070908 (prerelease). GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Compiler executable checksum: 7993b3af5142d87e347d8f7153b00978 PR33361.ii: In function Op mcstl::for_each_template_random_access_ed(RandomAccessIterator, RandomAccessIterator, Op, Fu, Red, Result, Result, typename std::iterator_traits_Iterator::difference_type) [with RandomAccessIterator = stxxl::request_ptr*, Op = stxxl::request_ptr, Fu = mcstl::fill_selectorstxxl::request_ptr*, Red = mcstl::dummy_reduct, Result = bool]: PR33361.ii:3047: internal compiler error: in find_outermost_region_in_block, at tree-cfg.c:4803 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33361
[Bug web/33364] New: reporting bugs + minimizing testcases
Hi, the bugzilla enter-a-new-bug-page http://gcc.gnu.org/bugzilla/enter_bug.cgi?product=gcc points to http://gcc.gnu.org/bugzilla/page.cgi?id=bug-writing.html (which is a bit mozilla centric). Unfortunately neither page directs the user to the relevant pages for reporting gcc bugs: http://gcc.gnu.org/bugs.html and http://gcc.gnu.org/bugs/minimize.html Furthermore, /bugs.html should have a link to /bugs/minimize.html, too. /bugs/minimize.html: The perl/sed/vim commands to strip the preprocessed sources are too greedy as they remove #pragma commands that remain after preprocessing (e.g. #pragma omp). Better match on /^# / or /^# [0-9]/ -- Summary: reporting bugs + minimizing testcases Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: web AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: gcc at abeckmann dot de http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33364
[Bug web/33364] reporting bugs + minimizing testcases
--- Comment #2 from gcc at abeckmann dot de 2007-09-09 13:49 --- Another URL valuable for minimize.html: http://gcc.gnu.org/wiki/A_guide_to_testcase_reduction -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33364
[Bug c++/33372] New: segfault on incomplete code in openmp mode
Playing with the code reduction tools, i produced a segfault with the following (incomplete) code: === template typename T void f ( ) { unsigned n ( ) ; #pragma omp parallel num_threads(n) === $ /suse/NOBACKUP/gcc/gcc-4.2-branch/bin/g++ -v -march=i686 -O3 -fopenmp -W -Wall -c segfault2.ii Using built-in specs. Target: i686-pc-linux-gnu Configured with: ../gcc-4_2-branch/configure --enable-languages=c,c++ --prefix=/suse/NOBACKUP/gcc/gcc-4.2-branch Thread model: posix gcc version 4.2.2 20070910 (prerelease) /suse/NOBACKUP/gcc/gcc-4.2-branch/libexec/gcc/i686-pc-linux-gnu/4.2.2/cc1plus -fpreprocessed segfault2.ii -quiet -dumpbase segfault2.ii -march=i686 -auxbase segfault2 -O3 -W -Wall -version -fopenmp -o /tmp/ccUQF7PA.s GNU C++ version 4.2.2 20070910 (prerelease) (i686-pc-linux-gnu) compiled by GNU C version 4.2.2 20070908 (prerelease). GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Compiler executable checksum: 4c766e638e42be49e7fc1a3400590598 segfault2.ii: In function void f(): segfault2.ii:5: internal compiler error: Segmentation fault without -fopenmp, I get segfault2.ii:5: warning: ignoring #pragma omp parallel segfault2.ii:4: error: expected `}' at end of input -- Summary: segfault on incomplete code in openmp mode Product: gcc Version: 4.2.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: gcc at abeckmann dot de GCC build triplet: i686-pc-linux-gnu GCC host triplet: i686-pc-linux-gnu GCC target triplet: i686-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33372
[Bug c++/33361] New: ICE in find_outermost_region_in_block, at tree-cfg.c:4803
Hi, I'm getting an internal compiler error: in find_outermost_region_in_block, at tree-cfg.c:4803 in -fopenmp mode with g++ 4.2.[012]. g++ 4.3 produces no error. Andreas $ /suse/NOBACKUP/gcc/gcc-4.2-branch/bin/g++ -v -save-temps -march=i686 -DSORT_OPTIMAL_PREFETCHING -DUSE_MALLOC_LOCK -DCOUNT_WAIT_TIME -I/home/andreas/work/uka/stxxl/parpipe/include -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -O3 -W -Wall -fopenmp -D__MCSTL__ -I/home/andreas/work/uka/mcstl/libstdc++/c++ -c ICE_find_outermost_region_in_block.cpp Using built-in specs. Target: i686-pc-linux-gnu Configured with: ../gcc-4_2-branch/configure --enable-languages=c,c++ --prefix=/suse/NOBACKUP/gcc/gcc-4.2-branch Thread model: posix gcc version 4.2.2 20070908 (prerelease) /suse/NOBACKUP/gcc/gcc-4.2-branch/libexec/gcc/i686-pc-linux-gnu/4.2.2/cc1plus -E -quiet -v -I/home/andreas/work/uka/stxxl/parpipe/include -I/home/andreas/work/uka/mcstl/libstdc++/c++ -D_GNU_SOURCE -D_REENTRANT -DSORT_OPTIMAL_PREFETCHING -DUSE_MALLOC_LOCK -DCOUNT_WAIT_TIME -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D__MCSTL__ ICE_find_outermost_region_in_block.cpp -march=i686 -W -Wall -fopenmp -O3 -fpch-preprocess -o ICE_find_outermost_region_in_block.ii ignoring nonexistent directory /suse/NOBACKUP/gcc/gcc-4.2-branch/lib/gcc/i686-pc-linux-gnu/4.2.2/../../../../i686-pc-linux-gnu/include #include ... search starts here: #include ... search starts here: /home/andreas/work/uka/stxxl/parpipe/include /home/andreas/work/uka/mcstl/libstdc++/c++ /suse/NOBACKUP/gcc/gcc-4.2-branch/lib/gcc/i686-pc-linux-gnu/4.2.2/../../../../include/c++/4.2.2 /suse/NOBACKUP/gcc/gcc-4.2-branch/lib/gcc/i686-pc-linux-gnu/4.2.2/../../../../include/c++/4.2.2/i686-pc-linux-gnu /suse/NOBACKUP/gcc/gcc-4.2-branch/lib/gcc/i686-pc-linux-gnu/4.2.2/../../../../include/c++/4.2.2/backward /usr/local/include /suse/NOBACKUP/gcc/gcc-4.2-branch/include /suse/NOBACKUP/gcc/gcc-4.2-branch/lib/gcc/i686-pc-linux-gnu/4.2.2/include /usr/include End of search list. /suse/NOBACKUP/gcc/gcc-4.2-branch/libexec/gcc/i686-pc-linux-gnu/4.2.2/cc1plus -fpreprocessed ICE_find_outermost_region_in_block.ii -quiet -dumpbase ICE_find_outermost_region_in_block.cpp -march=i686 -auxbase ICE_find_outermost_region_in_block -O3 -W -Wall -version -fopenmp -o ICE_find_outermost_region_in_block.s GNU C++ version 4.2.2 20070908 (prerelease) (i686-pc-linux-gnu) compiled by GNU C version 4.2.2 20070908 (prerelease). GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Compiler executable checksum: 7993b3af5142d87e347d8f7153b00978 /home/andreas/work/uka/mcstl/libstdc++/c++/bits/mcstl_par_loop.h: In function Op mcstl::for_each_template_random_access_ed(RandomAccessIterator, RandomAccessIterator, Op, Fu, Red, Result, Result, typename std::iterator_traits_Iterator::difference_type) [with RandomAccessIterator = stxxl::request_ptr*, Op = stxxl::request_ptr, Fu = mcstl::fill_selectorstxxl::request_ptr*, Red = mcstl::dummy_reduct, Result = bool]: /home/andreas/work/uka/mcstl/libstdc++/c++/bits/mcstl_par_loop.h:45: internal compiler error: in find_outermost_region_in_block, at tree-cfg.c:4803 -- Summary: ICE in find_outermost_region_in_block, at tree- cfg.c:4803 Product: gcc Version: 4.2.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: gcc at abeckmann dot de GCC host triplet: i686-pc-linux-gnu GCC target triplet: i686-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33361
[Bug c++/32546] New: 'warning: array subscript is above/below array bounds' on delete[]
I got the 'below array bounds' warning in some code and could reduce it to the following testcase (which results in the 'above array bounds' warning). The warning occurs with optimization level -O2 and above. gcc version 4.3.0 20070622 (experimental) g++-4.3 -c -W -Wall -O2 asiaab.cpp --save-temps asiaab.cpp: In function 'void f()': asiaab.cpp:5: warning: array subscript is above array bounds #include vector void g() { std::vectorint *A = new std::vectorint[42]; delete[] A; } The warning does not occur with types e.g. 'int' or 'std::pairint,int' instead of 'std::vectorint'. -- Summary: 'warning: array subscript is above/below array bounds' on delete[] Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: gcc at abeckmann dot de GCC host triplet: i486-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32546
[Bug regression/32072] New: g++ -O3 fails on code that compiles with -O2
The bug is present in the 4.2.0 release and still in the 20070523 snapshot. It was not present in 4.2-20070405-1 (from Debian experimental). The error occured in a program using stxxl (http://stxxl.sourceforge.net) with mcstl (http://algo2.iti.uni-karlsruhe.de/singler/mcstl/). Since mcstl requires openmp, this can't be tested with g++ earlier than 4.2, although the problem does not look openmp related and it should be possible to produce a test case without mcstl/openmp dependency. I minimized the testcase to the following: #include sstream void f () { std::ostringstream str_; str_ x; throw std::ios_base::failure(str_.str()); } and compiled it with /data/gcc/snapshot-4.2/bin/g++ -W -Wall -I /home/andreas/work/mpi/mcstl/c++ -I /home/andreas/work/mpi/mcstl/originals/_data_gcc_snapshot-4.2_include_c++_4.2.1 -c -O[23] t.cpp (.../mcstl/originals/_data_gcc_snapshot-4.2_include_c++_4.2.1/original is a symlink to /data/gcc/snapshot-4.2/include/c++/4.2.1 and required by mcstl to find the original STL headers, since mcstl wraps the STL headers in order to provide parallelism) Compiling with -O2 succeeds, while -O3 fails with /data/gcc/snapshot-4.2/lib/gcc/i686-pc-linux-gnu/4.2.1/../../../../include/c++/4.2.1/bits/ostream_insert.h: In function void std::__ostream_fill(std::basic_ostream_CharT, _Traits, std::streamsize) [with _CharT = char, _Traits = std::char_traitschar]: /data/gcc/snapshot-4.2/lib/gcc/i686-pc-linux-gnu/4.2.1/../../../../include/c++/4.2.1/bits/ostream_insert.h:96: instantiated from std::basic_ostream_CharT, _Traits std::__ostream_insert(std::basic_ostream_CharT, _Traits, const _CharT*, std::streamsize) [with _CharT = char, _Traits = std::char_traitschar] /home/andreas/work/mpi/mcstl/originals/_data_gcc_snapshot-4.2_include_c++_4.2.1/original/ostream:517: instantiated from std::basic_ostreamchar, _Traits std::operator(std::basic_ostreamchar, _Traits, const char*) [with _Traits = std::char_traitschar] t.cpp:7: instantiated from here /data/gcc/snapshot-4.2/lib/gcc/i686-pc-linux-gnu/4.2.1/../../../../include/c++/4.2.1/bits/ostream_insert.h:64: error: struct std::basic_ostreamchar, std::char_traitschar has no member named fill -- Summary: g++ -O3 fails on code that compiles with -O2 Product: gcc Version: 4.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: regression AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: gcc at abeckmann dot de GCC target triplet: i686-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32072
[Bug regression/32072] g++ -O3 fails on code that compiles with -O2
--- Comment #1 from gcc at abeckmann dot de 2007-05-24 17:26 --- Created an attachment (id=13609) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13609action=view) preprocessed source code of the test case -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32072
[Bug regression/32072] g++ -O3 fails on code that compiles with -O2
--- Comment #3 from gcc at abeckmann dot de 2007-05-24 19:04 --- But why does g++ behave differently if called with different optimization levels? I was looking for a mcstl bug first, but since g++ accepted this code with -O2 I went for g++. On the other hand, if this is actually a bug in mcstl (and the generated code is invalid/incomplete/broken/whatever), shouldn't g++ reject the code regardless of the optimization level? -- gcc at abeckmann dot de changed: What|Removed |Added Status|RESOLVED|UNCONFIRMED Resolution|INVALID | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32072