[Bug lto/49700] New: LTO compile time hog
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49700 Summary: LTO compile time hog Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: lto AssignedTo: unassig...@gcc.gnu.org ReportedBy: joost.vandevond...@pci.uzh.ch Using LTO a CP2K compile can take several hours and a lot of memory. I have been able to extract the following time report, but what is the best way to make a testcase ? -save-temps yielded the cp2k.sopt.ltrans29.ltrans.o file, but is anything more needed ? gfortran @/dev/shm/vondele/ccGyXn6S.args Using built-in specs. COLLECT_GCC=gfortran COLLECT_LTO_WRAPPER=/data03/vondele/gnu/gcc_trunk/install/libexec/gcc/x86_64-unknown-linux-gnu/4.7.0/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: ../gcc/configure --prefix=/data03/vondele/gnu/gcc_trunk/install --enable-languages=c,c++,fortran --disable-multilib --enable-plugins --enable-cloog-backend=isl --with-ppl=/data03/vondele/gnu/ppl-0.11/install --with-cloog=/data03/vondele/gnu/cloog-0.16.1/install/ --with-libelf=/data03/vondele/gnu/libelf-0.8.13/install --with-plugin-ld=ld.gold Thread model: posix gcc version 4.7.0 20110709 (experimental) [trunk revision 176072] (GCC) COLLECT_GCC_OPTIONS='-c' '-v' '-save-temps' '-ftime-report' '-u' 'se-linker-plugin' '-O3' '-march=native' '-funroll-loops' '-ffast-math' '-ffree-form' '-D' '__GFORTRAN' '-D' '__FFTSG' '-D' '__FFTW3' '-D' '__LIBINT' '-I' '/ext/software/64/gfortran-suite/include' '-D' '__COMPILE_ARCH=gfortran-test13' '-D' '__COMPILE_DATE=Sun Jul 10 14:22:33 CEST 2011' '-D' '__COMPILE_HOST=pcihopt3' '-D' '__COMPILE_LASTCVS=/qs_scf.F/1.527/Sat Jul 9 07:18:08 2011//' '-L/users/vondele/LAPACK/' '-L/ext/software/64/gfortran-suite/lib' '-shared-libgcc' '-dumpdir' '/data03/vondele/cp2k_gcc/cp2k/makefiles/../exe/gfortran-test13/' '-dumpbase' 'cp2k.sopt.ltrans29' '-fltrans' '-o' 'cp2k.sopt.ltrans29.ltrans.o' /data03/vondele/gnu/gcc_trunk/install/libexec/gcc/x86_64-unknown-linux-gnu/4.7.0/lto1 -march=amdfam10 -mcx16 -msahf -mno-movbe -mno-aes -mno-pclmul -mpopcnt -mabm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi -mno-tbm -mno-avx -mno-sse4.2 -mno-sse4.1 --param l1-cache-size=64 --param l1-cache-line-size=64 --param l2-cache-size=512 -mtune=amdfam10 -quiet -dumpdir /data03/vondele/cp2k_gcc/cp2k/makefiles/../exe/gfortran-test13/ -dumpbase cp2k.sopt.ltrans29 -auxbase-strip cp2k.sopt.ltrans29.ltrans.o -O3 -version -ftime-report -funroll-loops -ffast-math -ffree-form -fltrans @/dev/shm/vondele/ccuRF1W6 -o cp2k.sopt.ltrans29.s GNU GIMPLE (GCC) version 4.7.0 20110709 (experimental) [trunk revision 176072] (x86_64-unknown-linux-gnu) compiled by GNU C version 4.7.0 20110709 (experimental) [trunk revision 176072], GMP version 4.3.2, MPFR version 2.4.2, MPC version 0.8.2 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 GNU GIMPLE (GCC) version 4.7.0 20110709 (experimental) [trunk revision 176072] (x86_64-unknown-linux-gnu) compiled by GNU C version 4.7.0 20110709 (experimental) [trunk revision 176072], GMP version 4.3.2, MPFR version 2.4.2, MPC version 0.8.2 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Execution times (seconds) phase setup : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall 1250 kB ( 0%) ggc phase parsing :5086.93 (100%) usr 9.45 (100%) sys5213.35 (100%) wall 1072513 kB (100%) ggc phase generate : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 0 kB ( 0%) ggc garbage collection : 4.16 ( 0%) usr 0.02 ( 0%) sys 4.22 ( 0%) wall 0 kB ( 0%) ggc ipa lto gimple in : 0.13 ( 0%) usr 0.01 ( 0%) sys 0.16 ( 0%) wall 26100 kB ( 2%) ggc ipa lto decl in : 0.86 ( 0%) usr 0.01 ( 0%) sys 0.89 ( 0%) wall 7027 kB ( 1%) ggc ipa pure const : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall 11 kB ( 0%) ggc cfg construction: 0.62 ( 0%) usr 0.00 ( 0%) sys 0.63 ( 0%) wall 3820 kB ( 0%) ggc cfg cleanup : 2.89 ( 0%) usr 0.00 ( 0%) sys 2.91 ( 0%) wall 4416 kB ( 0%) ggc CFG verifier: 49.95 ( 1%) usr 0.00 ( 0%) sys 50.28 ( 1%) wall 0 kB ( 0%) ggc trivially dead code : 0.88 ( 0%) usr 0.00 ( 0%) sys 0.90 ( 0%) wall 0 kB ( 0%) ggc df scan insns : 0.20 ( 0%) usr 0.00 ( 0%) sys 0.23 ( 0%) wall 20 kB ( 0%) ggc df multiple defs: 0.34 ( 0%) usr 0.00 ( 0%) sys 0.34 ( 0%) wall 0 kB ( 0%) ggc df reaching defs: 60.58 ( 1%) usr 1.10 (12%) sys 62.35 ( 1%) wall 0 kB ( 0%) ggc df live regs: 13.28 ( 0%) usr 0.04 ( 0%) sys 13.56 ( 0%) wall 0 kB ( 0%) ggc df liveinitialized regs: 5.43 ( 0%) usr 0.00 ( 0%) sys 5.59 ( 0%) wall 0 kB ( 0%) ggc df use-def / def-use chains: 1.16 ( 0%) usr 0.01 ( 0%) sys 1.25 ( 0%) wall 0 kB ( 0%) ggc df live reg
[Bug fortran/18918] Eventually support Fortran 2008's coarrays [co-arrays]
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18918 --- Comment #65 from Tobias Burnus burnus at gcc dot gnu.org 2011-07-11 08:14:13 UTC --- Author: burnus Date: Mon Jul 11 08:14:05 2011 New Revision: 176137 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=176137 Log: 2011-07-11 Tobias Burnus bur...@net-b.de PR fortran/18918 * gfortran.dg/coarray_lock_3.f90: Remove bogus dg-error. Modified: trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gfortran.dg/coarray_lock_3.f90
[Bug fortran/49698] Unmanageable compiler error
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49698 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed||2011.07.11 08:56:52 CC||jakub at gcc dot gnu.org AssignedTo|unassigned at gcc dot |jakub at gcc dot gnu.org |gnu.org | Ever Confirmed|0 |1 --- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org 2011-07-11 08:56:52 UTC --- --- gcc/fortran/trans-stmt.c.jj 2011-07-07 13:23:57.0 +0200 +++ gcc/fortran/trans-stmt.c 2011-07-11 10:53:34.0 +0200 @@ -3323,7 +3323,7 @@ gfc_trans_pointer_assign_need_temp (gfc_ count = gfc_create_var (gfc_array_index_type, count); gfc_add_modify (block, count, gfc_index_zero_node); - inner_size = integer_one_node; + inner_size = gfc_index_one_node; lss = gfc_walk_expr (expr1); rss = gfc_walk_expr (expr2); if (lss == gfc_ss_terminator) seems to fix it. I'll try to reduce the testcase and bootstrap/regtest it.
[Bug lto/49700] LTO compile time hog
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49700 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added CC||hubicka at gcc dot gnu.org, ||rguenth at gcc dot gnu.org --- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-11 09:20:37 UTC --- The phase parsing :5086.93 (100%) usr 9.45 (100%) sys5213.35 (100%) wall 1072513 kB (100%) ggc line looks completely odd ;) It would be interesting to know what broke the LTO I/O type/merging accounting. Honza? The above is from LTRANS phase, so maybe there's some timevar pushing missing? It looks like materialize_cgraph is suspicious. No, the ltrans object file is of no use. Joost, can you point us to a source tarball? Does the issue reproduce with simpler flags (plain -O2 or plain -O3? Esp. w/o -march=native?)
[Bug middle-end/49699] Aligned load on unaligned address
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49699 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2011.07.11 09:24:48 Ever Confirmed|0 |1 --- Comment #2 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-11 09:24:48 UTC --- Confirmed. The issue is that alignment info in FIELD_DECLs is broken. I think that in this case get_inner_reference simply chooses to tell the caller that V4SF mode is to be used for the access and that's all it gets. Very old issue. The aligned attribute cannot be reliably used to decrease alignment.
[Bug lto/49697] read permission of LTO intermediate files
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49697 --- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-11 09:26:31 UTC --- It uses your umask, similar to what it uses for the generated assembly.
[Bug rtl-optimization/49686] [4.7 Regression] CFI notes are missed for delayed slot
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49686 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Target Milestone|--- |4.7.0
[Bug lto/49700] LTO compile time hog
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49700 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added CC||jakub at gcc dot gnu.org --- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org 2011-07-11 09:27:50 UTC --- The phase parsing numbers are uninteresting, as lto1 FE does almost all the work in its lto_main (aka parse_file langhook), including cgraph_optimize. So that time includes basically the whole compilation, you can see that the generate phase is very short.
[Bug target/49684] [4.7 Regression]: build fails on crtstuff.c / crtbegin using default CRT_CALL_STATIC_FUNCTION
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49684 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Target Milestone|--- |4.7.0
[Bug c/49685] libgcc_s.so not compiled without optimization when requested
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49685 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||INVALID --- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-11 09:29:05 UTC --- For target libraries you need to set TARGET_CFLAGS
[Bug bootstrap/49680] [4.7 regression] IRIX 6.5 bootstrap broken: SEGV in __register_frame_info_bases
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49680 --- Comment #17 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-11 09:31:07 UTC --- Fixed?
[Bug lto/49700] LTO compile time hog
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49700 --- Comment #3 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-11 09:33:36 UTC --- Oh, so it's a sum ... Well, the I suppose you run into the usual array-prefetching compile-time hog. Try -fno-prefetch-loop-arrays.
[Bug fortran/49698] Unmanageable compiler error
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49698 --- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org 2011-07-11 09:36:43 UTC --- Created attachment 24736 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24736 gcc47-pr49698.patch Patch I'm going to bootstrap/regtest.
[Bug target/44707] operand requires impossible reload
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44707 --- Comment #12 from Dominique d'Humieres dominiq at lps dot ens.fr 2011-07-11 09:44:00 UTC --- Hi, I see this test failing on powerpc-darwin8 (I know, not a critical platform). http://gcc.gnu.org/ml/gcc-testresults/2011-07/msg01092.html What information can I provide from my test runs? This is pr45233.
[Bug middle-end/49699] Aligned load on unaligned address
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49699 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added CC||jakub at gcc dot gnu.org --- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org 2011-07-11 09:47:27 UTC --- I think you'd need to make it packed as well, but then it depends on gcc version which alignment the aggregate actually has.
[Bug target/39633] [avr] loop bug: missing 8-bit comparison (*cmpqi)
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39633 --- Comment #12 from Georg-Johann Lay gjl at gcc dot gnu.org 2011-07-11 10:13:33 UTC --- Author: gjl Date: Mon Jul 11 10:13:30 2011 New Revision: 176141 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=176141 Log: gcc/ PR target/39633 * config/avr/avr.c (notice_update_cc): For ashiftrt:QI, only offsets 1..5 set cc0 in a usable way. testsuite/ PR target/39633 * gcc.target/avr/torture/pr39633.c: New test case. Added: trunk/gcc/testsuite/gcc.target/avr/torture/pr39633.c Modified: trunk/gcc/ChangeLog trunk/gcc/config/avr/avr.c trunk/gcc/testsuite/ChangeLog
[Bug bootstrap/49680] [4.7 regression] IRIX 6.5 bootstrap broken: SEGV in __register_frame_info_bases
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49680 --- Comment #18 from ro at CeBiTec dot Uni-Bielefeld.DE ro at CeBiTec dot Uni-Bielefeld.DE 2011-07-11 10:19:24 UTC --- --- Comment #12 from Richard Henderson rth at gcc dot gnu.org 2011-07-08 23:36:57 UTC --- Rainer, please give me the command-line for this. I can't seem to reproduce the assembler warnings from a cross-compiler. $ /vol/gcc/bin/gas-2.21.1 -v -EB -O2 -g0 -no-mdebug -mabi=n32 -o crtbegin.o crtstuff.s GNU assembler version 2.21.1 (mips-sgi-irix6.5) using BFD version (GNU Binutils) 2.21.1 crtstuff.s: Assembler messages: crtstuff.s:130: Warning: Macro instruction expanded into multiple instructions crtstuff.s:131: Warning: Macro instruction expanded into multiple instructions crtstuff.s:200: Warning: Macro instruction expanded into multiple instructions crtstuff.s:201: Warning: Macro instruction expanded into multiple instructions Rainer
[Bug c++/49568] [4.7 regression] g++.dg/torture/pr41257-2.C FAILs to link on Tru64 UNIX
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49568 Rainer Orth ro at gcc dot gnu.org changed: What|Removed |Added Status|WAITING |RESOLVED Resolution||FIXED --- Comment #12 from Rainer Orth ro at gcc dot gnu.org 2011-07-11 10:21:14 UTC --- Indeed, thanks. Rainer
[Bug target/39633] [avr] loop bug: missing 8-bit comparison (*cmpqi)
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39633 --- Comment #13 from Georg-Johann Lay gjl at gcc dot gnu.org 2011-07-11 10:24:48 UTC --- Author: gjl Date: Mon Jul 11 10:24:46 2011 New Revision: 176143 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=176143 Log: PR target/39633 Backport from mainline r176141 2011-07-11 Georg-Johann Lay * config/avr/avr.c (notice_update_cc): For ashiftrt:QI, only offsets 1..5 set cc0 in a usable way. Modified: branches/gcc-4_6-branch/gcc/ChangeLog branches/gcc-4_6-branch/gcc/config/avr/avr.c
[Bug target/39633] [avr] loop bug: missing 8-bit comparison (*cmpqi)
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39633 Georg-Johann Lay gjl at gcc dot gnu.org changed: What|Removed |Added Status|NEW |RESOLVED Known to work||4.6.2 Resolution||FIXED --- Comment #14 from Georg-Johann Lay gjl at gcc dot gnu.org 2011-07-11 10:28:17 UTC --- Cloased as FIXED in 4.6.2 milestone.
[Bug c++/49701] New: Parser confusion between operator and template specialization
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49701 Summary: Parser confusion between operator and template specialization Product: gcc Version: 4.5.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: mdpo...@troilus.org Created attachment 24737 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24737 precompiled minimal test case for the parsing error The attached code generates a compiler error on my system (using Ubuntu 11.04's version of gcc 4.5.2; gcc 4.6.1 compiled from source does the same thing). If the template_1 class is changed to not be a template, it compiles with no error. $ g++ -v -save-temps -std=c++0x -c template_delegate_parsing.cpp Using built-in specs. COLLECT_GCC=/usr/bin/g++ COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) COLLECT_GCC_OPTIONS='-v' '-save-temps' '-std=c++0x' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/cc1plus -E -quiet -v -D_GNU_SOURCE template_delegate_parsing.cpp -D_FORTIFY_SOURCE=2 -mtune=generic -march=x86-64 -std=c++0x -fpch-preprocess -fstack-protector -o template_delegate_parsing.ii ignoring nonexistent directory /usr/local/include/x86_64-linux-gnu ignoring nonexistent directory /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/../../../../../x86_64-linux-gnu/include #include ... search starts here: #include ... search starts here: /usr/include/c++/4.5 /usr/include/c++/4.5/x86_64-linux-gnu /usr/include/c++/4.5/backward /usr/local/include /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/include-fixed /usr/include/x86_64-linux-gnu /usr/include End of search list. COLLECT_GCC_OPTIONS='-v' '-save-temps' '-std=c++0x' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/cc1plus -fpreprocessed template_delegate_parsing.ii -quiet -dumpbase template_delegate_parsing.cpp -mtune=generic -march=x86-64 -auxbase template_delegate_parsing -std=c++0x -version -fstack-protector -o template_delegate_parsing.s GNU C++ (Ubuntu/Linaro 4.5.2-8ubuntu4) version 4.5.2 (x86_64-linux-gnu) compiled by GNU C version 4.5.2, GMP version 4.3.2, MPFR version 3.0.0-p8, MPC version 0.9 GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 GNU C++ (Ubuntu/Linaro 4.5.2-8ubuntu4) version 4.5.2 (x86_64-linux-gnu) compiled by GNU C version 4.5.2, GMP version 4.3.2, MPFR version 3.0.0-p8, MPC version 0.9 GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Compiler executable checksum: 1a8763bcd4db37297f4ae8b8aab36cf0 template_delegate_parsing.cpp: In constructor ‘cT::c() [with T = int]’: template_delegate_parsing.cpp:14:9: instantiated from here template_delegate_parsing.cpp:9:8: error: invalid operands of types ‘unresolved overloaded function type’ and ‘void (cint::*)()’ to binary ‘operator’
[Bug c++/49701] Parser confusion between operator and template specialization
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49701 Jonathan Wakely redi at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||INVALID --- Comment #1 from Jonathan Wakely redi at gcc dot gnu.org 2011-07-11 11:19:44 UTC --- The code is invalid, you need to say: c() { fc().template bindc::m(this); } See http://womble.decadent.org.uk/c++/template-faq.html#disambiguation
[Bug c/49702] New: Undefined static functions resolve to external definitions
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49702 Summary: Undefined static functions resolve to external definitions Product: gcc Version: 4.7.0 Status: UNCONFIRMED Keywords: accepts-invalid, wrong-code Severity: normal Priority: P3 Component: c AssignedTo: unassig...@gcc.gnu.org ReportedBy: rgue...@gcc.gnu.org main.c: --- static int foo(); int main () { return foo(); } t.c: int foo() { return 0; } gcc -o t t1.c t.c t.c:1: warning: ‘foo’ used but never defined ./t echo $? 0 g++ -o t t1.c t.c t.c:1: error: ‘int foo()’ used but never defined For the C frontend you need -pedantic-errors to make it reject main.c. Without -pedantic-errors wrong code is emitted: Relocation section '.rela.eh_frame' at offset 0x5a8 contains 1 entries: Offset Info Type Sym. ValueSym. Name + Addend 0020 0002000a R_X86_64_32 .text + 0 Symbol table '.symtab' contains 11 entries: Num:Value Size TypeBind Vis Ndx Name ... 9: 16 FUNCGLOBAL DEFAULT1 main 10: 0 NOTYPE GLOBAL DEFAULT UND foo but that's hardly possible to improve without erroring out by default. Is there a way to only make the assembler reject the code (if maybe a toplevel asm contains the local symbol?)?
[Bug c/49702] Undefined static functions resolve to external definitions
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49702 --- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-11 11:53:06 UTC --- Warning code in question: toplev.c: void check_global_declaration_1 (tree decl) { /* Warn about any function declared static but not defined. We don't warn about variables, because many programs have static variables that exist only to get some text into the object file. */ if (TREE_CODE (decl) == FUNCTION_DECL DECL_INITIAL (decl) == 0 DECL_EXTERNAL (decl) ! DECL_ARTIFICIAL (decl) ! TREE_NO_WARNING (decl) ! TREE_PUBLIC (decl) (warn_unused_function || TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl { if (TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl))) pedwarn (input_location, 0, %q+F used but never defined, decl); else warning (OPT_Wunused_function, %q+F declared %static% but never defined, decl); /* This symbol is effectively an extern declaration now. */ TREE_PUBLIC (decl) = 1; assemble_external (decl); }
[Bug middle-end/49519] [4.7 Regression] Revision 175272 miscompiled 447.dealII in SPEC CPU 2006
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49519 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED --- Comment #26 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-11 11:54:01 UTC --- Fixed. For the missed tailcall opt please open a separate bugreport.
[Bug lto/49703] New: -flto makes stack executable by default
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49703 Summary: -flto makes stack executable by default Product: gcc Version: 4.6.1 Status: UNCONFIRMED Severity: critical Priority: P3 Component: lto AssignedTo: unassig...@gcc.gnu.org ReportedBy: mar...@jet.franken.de $ cat xx.c #include stdio.h int main(int argc, char **argv) { printf(Hallo\n); return 0; } $ gcc -O2 -o xx xx.c $ readelf -a xx|grep STACK GNU_STACK 0x00 0x 0x 0x0 0x0 RW 0x4 $ gcc -flto -O2 -o xx xx.c $ readelf -a xx|grep STACK GNU_STACK 0x00 0x 0x 0x0 0x0 RWE 0x4 -flto should not create executable stacks.
[Bug bootstrap/49680] [4.7 regression] IRIX 6.5 bootstrap broken: SEGV in __register_frame_info_bases
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49680 Rainer Orth ro at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #19 from Rainer Orth ro at gcc dot gnu.org 2011-07-11 12:07:09 UTC --- A C-only non-bootstrap build just completed, so all seems fine again. Thanks. Rainer
[Bug lto/49703] -flto makes stack executable by default
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49703 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |WAITING Last reconfirmed||2011.07.11 12:08:34 Ever Confirmed|0 |1 --- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-11 12:08:34 UTC --- Works for me ... please provide preprocessed source.
[Bug lto/49703] -flto makes stack executable by default
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49703 --- Comment #2 from marcus at jet dot franken.de 2011-07-11 12:11:35 UTC --- Created attachment 24738 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24738 xx.c gcc -O2 -flto -o xx xx.c readelf -a xx|grep GNU_STACK should NOT show RWE but only RW
[Bug lto/49703] -flto makes stack executable by default
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49703 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Status|WAITING |UNCONFIRMED Ever Confirmed|1 |0 --- Comment #3 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-11 12:13:57 UTC --- Works for me.
[Bug lto/49703] -flto makes stack executable by default
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49703 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed|2011-07-11 12:08:34 |2011.07.11 12:31:19 CC||davek at gcc dot gnu.org Ever Confirmed|0 |1 --- Comment #4 from Richard Guenther rguenth at gcc dot gnu.org 2011-07-11 12:31:19 UTC --- I can reproduce it at least on {x86_64,ppc}-linux with the linker plugin from ld --version GNU ld (GNU Binutils; openSUSE Factory) 2.21.1 and the GCC 4.6.1 release. It works without -fuse-linker-plugin, so I suspect a GNU ld bug. It works with gold. Dave?
[Bug debug/49676] inefficiency: DW_AT_GNU_call_site_value calculates everything 32
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49676 --- Comment #5 from Jakub Jelinek jakub at gcc dot gnu.org 2011-07-11 13:00:57 UTC --- Created attachment 24739 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24739 gcc47-pr49676-const.patch I've noticed that int_loc_descriptor sometimes emits too large ops to build large constants, many constants can be actually emitted using shorter sequences of more, but smaller, ops, e.g. DW_OP_lit31 DW_OP_lit31 DW_OP_shl is just 3 bytes, while DW_OP_constu 0xf8000 is 7 bytes long. Similarly, DW_OP_plus_uconst isn't always a win.
[Bug middle-end/49139] always_inline attribute inconsistencies on failure
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49139 chrbr at gcc dot gnu.org changed: What|Removed |Added Status|REOPENED|RESOLVED Resolution||FIXED --- Comment #14 from chrbr at gcc dot gnu.org 2011-07-11 13:02:22 UTC --- as discussed -emits a warning when __attribute__((always_inline)) is used without inline keyword -emits an error in an always_inline function couldn't be inlined. -consistently behaves, with or without -Winline
[Bug translation/49704] New: gcc/cp/semantics.c: unexpected ast
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49704 Summary: gcc/cp/semantics.c: unexpected ast Product: gcc Version: 4.6.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: translation AssignedTo: unassig...@gcc.gnu.org ReportedBy: sti...@antcom.de I can't see much sense in the translatable string unexpected ast of kind %s. Maybe cast is meant? Otherwise please state a description for translators. Thanks!
[Bug translation/49704] gcc/cp/semantics.c: unexpected ast
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49704 --- Comment #1 from Jonathan Wakely redi at gcc dot gnu.org 2011-07-11 14:01:35 UTC --- http://en.wikipedia.org/wiki/Abstract_syntax_tree
[Bug translation/49704] gcc/cp/semantics.c: unexpected ast
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49704 --- Comment #2 from Roland Stigge stigge at antcom dot de 2011-07-11 14:08:30 UTC --- Thanks! Can we please write upper case AST to make it clear that it's an acronym? E.g. ast is also a German word, similar to the English word branch, and I guess many English speakers could also understand it as such.
[Bug regression/49498] [4.7 Regression]: gcc.dg/uninit-pred-8_b.c bogus warning line 20
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49498 Jeffrey A. Law law at redhat dot com changed: What|Removed |Added Priority|P3 |P4 Severity|normal |enhancement --- Comment #12 from Jeffrey A. Law law at redhat dot com 2011-07-11 15:29:05 UTC --- Testsuite adjusted. Not closing as this does represent a regression and further improvements to jump threading and/or predicate aware uninit analysis may resolve this in the future. However, I'm downgrading it to a P4 enhancement request.
[Bug debug/48220] DW_OP_GNU_entry_value/DW_TAG_GNU_call_site_parameter vs register window
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48220 Eric Botcazou ebotcazou at gcc dot gnu.org changed: What|Removed |Added Attachment #23739|0 |1 is obsolete|| --- Comment #7 from Eric Botcazou ebotcazou at gcc dot gnu.org 2011-07-11 16:02:28 UTC --- Created attachment 24740 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24740 Tentative patch for SPARC This appears to do the trick for the SPARC. In particular: (gdb) run Starting program: /nile.build/botcazou/gcc-head/sparc-sun-solaris2.8/pr48220 Breakpoint 1, fn2 (a=1, b=2, c=1) at pr48220.c:13 13 { (gdb) disass Dump of assembler code for function fn2: = 0x000106cc +0: save %sp, -96, %sp 0x000106d0 +4: clr %i0 0x000106d4 +8: mov 5, %o0 0x000106d8 +12:mov 6, %o1 0x000106dc +16:call 0x106c4 fn1 0x000106e0 +20:mov 7, %o2 0x000106e4 +24:rett %i7 + 8 0x000106e8 +28:nop End of assembler dump. (gdb) p a $1 = 1 (gdb) p a Address requested for identifier a which is in register $o0 (gdb) nexti 17 } (gdb) p a $2 = 1 (gdb) p a Address requested for identifier a which is in register $i0 (gdb) nexti 15fn1 (5, 6, 7); (gdb) p a $3 = optimized out and the location is DW_OP_GNU_entry_value pointing to $o0 from there on. Jakub, what do you think?
[Bug tree-optimization/49094] ARM aligned(1) attribute is sometimes dropped
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49094 --- Comment #7 from will_lentz at trimble dot com 2011-07-11 16:29:52 UTC --- (In reply to comment #6) Author: jamborm Date: Thu Jun 30 13:24:19 2011 New Revision: 175703 Thanks for fixing this! Do you know if this fix will get into a 4.6.x release?
[Bug middle-end/45098] Missed induction variable optimization
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45098 vries at gcc dot gnu.org changed: What|Removed |Added Status|NEW |RESOLVED Version|4.6.0 |4.7.0 Resolution||FIXED Target Milestone|--- |3.1.x/3.2.x --- Comment #18 from vries at gcc dot gnu.org 2011-07-11 16:31:56 UTC --- All ivopts improvements related to this example for -march=armv7-a -mthumb -Os are committed to trunk. Regression test are in place. Closing bug.
[Bug fortran/49324] Deep copy missing for array constructors of DT w/ allocatable components
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49324 Joshua Cogliati jjcogliati-r1 at yahoo dot com changed: What|Removed |Added Known to fail||4.6.1 --- Comment #11 from Joshua Cogliati jjcogliati-r1 at yahoo dot com 2011-07-11 16:37:28 UTC --- Still in 4.6.1, using original test case.
[Bug target/43920] Choosing conditional execution over conditional branches for code size in some cases.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43920 vries at gcc dot gnu.org changed: What|Removed |Added Status|NEW |RESOLVED CC||vries at gcc dot gnu.org Version|4.6.0 |4.7.0 Resolution||FIXED --- Comment #14 from vries at gcc dot gnu.org 2011-07-11 16:38:12 UTC --- Patches and test-cases are checked in into trunk. Marking bug fixed.
[Bug debug/48220] DW_OP_GNU_entry_value/DW_TAG_GNU_call_site_parameter vs register window
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48220 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added CC||aoliva at gcc dot gnu.org --- Comment #8 from Jakub Jelinek jakub at gcc dot gnu.org 2011-07-11 16:40:54 UTC --- Looks reasonable to me. Thanks for working on it.
[Bug fortran/49698] Unmanageable compiler error
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49698 --- Comment #4 from Jakub Jelinek jakub at gcc dot gnu.org 2011-07-11 16:42:33 UTC --- Author: jakub Date: Mon Jul 11 16:42:29 2011 New Revision: 176164 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=176164 Log: PR fortran/49698 * trans-stmt.c (gfc_trans_pointer_assign_need_temp): Initialize inner_size to gfc_index_one_node instead of integer_one_node. * gfortran.dg/pr49698.f90: New test. Added: trunk/gcc/testsuite/gfortran.dg/pr49698.f90 Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/trans-stmt.c trunk/gcc/testsuite/ChangeLog
[Bug fortran/49698] Unmanageable compiler error
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49698 --- Comment #5 from Jakub Jelinek jakub at gcc dot gnu.org 2011-07-11 16:43:27 UTC --- Author: jakub Date: Mon Jul 11 16:43:23 2011 New Revision: 176165 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=176165 Log: PR fortran/49698 * trans-stmt.c (gfc_trans_pointer_assign_need_temp): Initialize inner_size to gfc_index_one_node instead of integer_one_node. * gfortran.dg/pr49698.f90: New test. Added: branches/gcc-4_6-branch/gcc/testsuite/gfortran.dg/pr49698.f90 Modified: branches/gcc-4_6-branch/gcc/fortran/ChangeLog branches/gcc-4_6-branch/gcc/fortran/trans-stmt.c branches/gcc-4_6-branch/gcc/testsuite/ChangeLog
[Bug fortran/49698] Unmanageable compiler error
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49698 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #6 from Jakub Jelinek jakub at gcc dot gnu.org 2011-07-11 16:50:09 UTC --- Fixed.
[Bug fortran/49324] Deep copy missing for array constructors of DT w/ allocatable components
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49324 --- Comment #12 from Tobias Burnus burnus at gcc dot gnu.org 2011-07-11 16:52:54 UTC --- (In reply to comment #11) Still in 4.6.1, using original test case. Well, that's the reason that this PR is not closed. Fixed (in 4.6 and 4.7-trunk): Deep copy of array constructor. To be done: Moving the copying for RESHAPE from the library to the front end - as the front end (now) knows to deal with deep copying.
[Bug tree-optimization/49094] ARM aligned(1) attribute is sometimes dropped
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49094 --- Comment #8 from Martin Jambor jamborm at gcc dot gnu.org 2011-07-11 16:54:46 UTC --- Author: jamborm Date: Mon Jul 11 16:54:42 2011 New Revision: 176166 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=176166 Log: 2011-07-11 Martin Jambor mjam...@suse.cz PR tree-optimization/49094 * tree-sra.c (tree_non_mode_aligned_mem_p): New function. (build_accesses_from_assign): Use it. * testsuite/gcc.dg/tree-ssa/pr49094.c: New test. Added: branches/gcc-4_6-branch/gcc/testsuite/gcc.dg/tree-ssa/pr49094.c Modified: branches/gcc-4_6-branch/gcc/ChangeLog branches/gcc-4_6-branch/gcc/testsuite/ChangeLog branches/gcc-4_6-branch/gcc/tree-sra.c
[Bug debug/49676] inefficiency: DW_AT_GNU_call_site_value calculates everything 32
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49676 --- Comment #6 from Jakub Jelinek jakub at gcc dot gnu.org 2011-07-11 16:57:29 UTC --- Author: jakub Date: Mon Jul 11 16:57:25 2011 New Revision: 176167 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=176167 Log: PR debug/49676 * dwarf2out.c (int_shift_loc_descriptor): New function. (int_loc_descriptor): If shorter, emit i as (i shift), shift, DW_OP_shl for suitable shift value. Similarly, try to optimize large negative values using DW_OP_neg of a positive value if shorter. (size_of_int_shift_loc_descriptor): New function. (size_of_int_loc_descriptor): Adjust to match int_loc_descriptor changes. (mem_loc_descriptor) case CONST_INT: Emit zero-extended constants that fit into DWARF2_ADDR_SIZE bytes as int_loc_descriptor + DW_OP_GNU_convert instead of DW_OP_GNU_const_type if the former is shorter. (resolve_addr_in_expr): Optimize DW_OP_plus_uconst with a large addend as added DW_OP_plus if it is shorter. * gcc.dg/guality/csttest.c: New test. Added: trunk/gcc/testsuite/gcc.dg/guality/csttest.c Modified: trunk/gcc/ChangeLog trunk/gcc/dwarf2out.c trunk/gcc/testsuite/ChangeLog
[Bug tree-optimization/49094] ARM aligned(1) attribute is sometimes dropped
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49094 Martin Jambor jamborm at gcc dot gnu.org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED --- Comment #9 from Martin Jambor jamborm at gcc dot gnu.org 2011-07-11 17:36:19 UTC --- (In reply to comment #7) (In reply to comment #6) Author: jamborm Date: Thu Jun 30 13:24:19 2011 New Revision: 175703 Thanks for fixing this! Do you know if this fix will get into a 4.6.x release? Yeah, sorry it took so long, I almost forgot. The patch for 4.6 has been sent to the mailing list in http://gcc.gnu.org/ml/gcc-patches/2011-07/msg00827.html This is now fixed on both the trunk and the 4.6 branch.
[Bug target/49423] [arm] internal compiler error: in push_minipool_fix
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49423 --- Comment #6 from Martin Jambor jamborm at gcc dot gnu.org 2011-07-11 17:39:09 UTC --- I have just committed a fix for PR 49094 to the 4.6 branch. Please try again now. Thanks.
[Bug target/39212] ice for AVR target: unable to find a register to spill in class 'POINTER_REGS'
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39212 Eric Weddington eric.weddington at atmel dot com changed: What|Removed |Added Status|NEW |RESOLVED Resolution||WORKSFORME Target Milestone|--- |4.6.1 --- Comment #6 from Eric Weddington eric.weddington at atmel dot com 2011-07-11 17:57:58 UTC --- Since this works on 4.6.1, setting target milestone and closing.
[Bug c/49705] New: -Wstrict-overflow should not diagnose unevaluated expressions
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49705 Summary: -Wstrict-overflow should not diagnose unevaluated expressions Product: gcc Version: 4.6.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassig...@gcc.gnu.org ReportedBy: egg...@gnu.org Host: x86_64-unknown-linux-gnu Target: x86_64-unknown-linux-gnu Build: x86_64-unknown-linux-gnu I ran into this problem when compiling a test version of Emacs. Here's a stripped-down version of the problem: int check_image_width (int width) { return (1 || width = width + 2); } When compiled with gcc -c -Wstrict-overflow -O2 t.c the diagnostic is: t.c:4:3: warning: assuming signed overflow does not occur when assuming that (X + c) = X is always true [-Wstrict-overflow] This diagnostic is wrong, as the expression in question (width = width + 2) is unreachable. In the original source code the expression is unreachable because the code is carefully checking for integer overflow. GCC should not diagnose potential integer overflow in unreachable expressions, as that is a common idiom in code that is working correctly.
[Bug lto/49703] -flto makes stack executable by default with GNU ld linker plugin
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49703 H.J. Lu hjl.tools at gmail dot com changed: What|Removed |Added Status|NEW |RESOLVED URL||http://www.sourceware.org/b ||ugzilla/show_bug.cgi?id=129 ||82 Resolution||INVALID --- Comment #5 from H.J. Lu hjl.tools at gmail dot com 2011-07-11 18:35:41 UTC --- It is a linker bug: http://www.sourceware.org/bugzilla/show_bug.cgi?id=12982
[Bug libstdc++/49559] [C++0x] stable_sort calls self-move-assignment operator
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49559 --- Comment #20 from paolo at gcc dot gnu.org paolo at gcc dot gnu.org 2011-07-11 18:39:03 UTC --- Author: paolo Date: Mon Jul 11 18:38:54 2011 New Revision: 176174 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=176174 Log: 2011-07-11 Paolo Carlini paolo.carl...@oracle.com PR libstdc++/49559 * include/bits/stl_algo.h (__move_merge_backward): Remove. (__move_merge_adaptive, __move_merge_adaptive_backward): New. (__merge_adaptive): Use the latter two. (__rotate_adaptive): Avoid self move-assignment. * include/bits/stl_algobase.h (move_backward): Fix comment. * testsuite/25_algorithms/stable_sort/49559.cc: New. * testsuite/25_algorithms/inplace_merge/49559.cc: Likewise. * testsuite/25_algorithms/inplace_merge/moveable.cc: Extend. * testsuite/25_algorithms/inplace_merge/moveable2.cc: Likewise. * testsuite/util/testsuite_rvalref.h (rvalstruct::operator= (rvalstruct)): Check for self move-assignment. Added: trunk/libstdc++-v3/testsuite/25_algorithms/inplace_merge/49559.cc trunk/libstdc++-v3/testsuite/25_algorithms/stable_sort/49559.cc Modified: trunk/libstdc++-v3/ChangeLog trunk/libstdc++-v3/include/bits/stl_algo.h trunk/libstdc++-v3/include/bits/stl_algobase.h trunk/libstdc++-v3/testsuite/25_algorithms/inplace_merge/moveable.cc trunk/libstdc++-v3/testsuite/25_algorithms/inplace_merge/moveable2.cc trunk/libstdc++-v3/testsuite/util/testsuite_rvalref.h
[Bug libstdc++/49559] [C++0x] stable_sort calls self-move-assignment operator
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49559 Paolo Carlini paolo.carlini at oracle dot com changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED Target Milestone|4.6.2 |4.7.0 --- Comment #21 from Paolo Carlini paolo.carlini at oracle dot com 2011-07-11 18:42:57 UTC --- Fixed for 4.7.0.
[Bug c++/44609] Invalid template code causes infinite loop of error messages
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44609 --- Comment #8 from Jason Merrill jason at gcc dot gnu.org 2011-07-11 18:52:15 UTC --- Author: jason Date: Mon Jul 11 18:52:12 2011 New Revision: 176176 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=176176 Log: PR c++/44609 * cp-tree.h (struct tinst_level): Add errors field. * pt.c (neglectable_inst_p, limit_bad_template_recurson): New. (push_tinst_level): Don't start another decl in that case. (reopen_tinst_level): Adjust errors field. * decl2.c (cp_write_global_declarations): Don't complain about undefined inline if its template was defined. * mangle.c (mangle_decl_string): Handle failure from push_tinst_level. Added: trunk/gcc/testsuite/g++.dg/template/recurse3.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/cp-tree.h trunk/gcc/cp/decl2.c trunk/gcc/cp/mangle.c trunk/gcc/cp/pt.c trunk/gcc/testsuite/ChangeLog
[Bug c/49017] [avr] -ffunction-sections causes linker to fail
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49017 Eric Weddington eric.weddington at atmel dot com changed: What|Removed |Added Status|UNCONFIRMED |WAITING Last reconfirmed||2011.07.11 18:53:40 CC||eric.weddington at atmel ||dot com Ever Confirmed|0 |1 --- Comment #2 from Eric Weddington eric.weddington at atmel dot com 2011-07-11 18:53:40 UTC --- Stefan, does your application link correctly if you remove -ffunction-sections?
[Bug c/49017] [avr] -ffunction-sections causes linker to fail
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49017 --- Comment #3 from stefan.hladnik at gmail dot com 2011-07-11 19:02:13 UTC --- Yes. I guess this feature will become obsolete when -flto gets stable, but I don't how far that is.
[Bug c++/44609] Invalid template code causes infinite loop of error messages
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44609 Jason Merrill jason at gcc dot gnu.org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED AssignedTo|unassigned at gcc dot |jason at gcc dot gnu.org |gnu.org | Target Milestone|--- |4.7.0 --- Comment #9 from Jason Merrill jason at gcc dot gnu.org 2011-07-11 19:09:51 UTC --- Fixed for 4.7.
[Bug other/49533] [4.7 regression] Revision 174989 (ipa-inline-transform.c) regressions
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49533 Markus Trippelsdorf markus at trippelsdorf dot de changed: What|Removed |Added Summary|[4.7 regression] Firefox|[4.7 regression] Revision |profiled build issues |174989 ||(ipa-inline-transform.c) ||regressions --- Comment #7 from Markus Trippelsdorf markus at trippelsdorf dot de 2011-07-11 19:45:06 UTC --- Another instance of the same regression (caused by commit 7791b0eb56c3c): stellarium build (without PGO) with latest gcc crashes on exit: [Thread 0x7fffee9cb700 (LWP 16857) exited] [Thread 0x74d5a700 (LWP 16821) exited] Program received signal SIGSEGV, Segmentation fault. 0x in ?? () (gdb) bt #0 0x in ?? () #1 0x76c331b1 in __run_exit_handlers (status=0, listp=0x76d594c8, run_list_atexit=true) at exit.c:78 #2 0x76c33235 in exit (status=Unhandled dwarf expression opcode 0xf3 ) at exit.c:100 #3 0x76c1cf89 in __libc_start_main (main=0x60b500 main, argc=1, ubp_av=0x7fffe158, init=Unhandled dwarf expression opcode 0xf3 ) at libc-start.c:258 #4 0x004a2589 in _start () Reverting 7791b0eb56c3c solves the problem. And I guess Bug 49665 is a dup of the same issue.
[Bug c++/49672] Internal error when passing variadic template args to a lambda function
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49672 Jason Merrill jason at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed||2011.07.11 19:45:08 CC||jason at gcc dot gnu.org AssignedTo|unassigned at gcc dot |jason at gcc dot gnu.org |gnu.org | Ever Confirmed|0 |1
[Bug lto/49700] LTO compile time hog
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49700 --- Comment #4 from Andrew Pinski pinskia at gcc dot gnu.org 2011-07-11 19:56:55 UTC --- Extra diagnostic checks enabled; compiler may run slowly. Configure with --enable-checking=release to disable checks. Also try to build the compiler with that option passed to configure. The defaults for the trunk has always been adding extra checking. CFG verifier: 49.95 ( 1%) usr tree SSA verifier : 376.24 ( 7%) usr tree STMT verifier : 439.42 ( 9%) usr verify loop closed : 168.68 ( 3%) usr As you can see with the above, some verifying takes time (at least 20% of the total time).
[Bug c++/48660] ARM ICE in expand_expr_real_1
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48660 Michael K. Edwards m.k.edwards at gmail dot com changed: What|Removed |Added CC||m.k.edwards at gmail dot ||com --- Comment #4 from Michael K. Edwards m.k.edwards at gmail dot com 2011-07-11 20:31:28 UTC --- The problem seems to be that promote_decl_mode() is changing the value returned from the pair constructor from HImode to BLKmode: (gdb) p debug_tree(decl) result_decl 0x2b61ea80 D.2836 type record_type 0x2b5d9930 pair no-force-blk type_5 type_6 BLK size integer_cst 0x2aaf05f0 constant 16 unit size integer_cst 0x2aaf0618 constant 2 align 8 symtab 0 alias set -1 canonical type 0x2b5d9930 fields field_decl 0x2b5f1d10 first type boolean_type 0x2ab0 bool unsigned nonlocal decl_3 QI file PR48660.cpp line 6 col 7 size integer_cst 0x2aaf04b0 constant 8 unit size integer_cst 0x2aaf04d8 constant 1 align 8 offset_align 64 offset integer_cst 0x2aaf0410 constant 0 bit offset integer_cst 0x2aaf0e38 constant 0 context record_type 0x2b5d9930 pair chain field_decl 0x2b5f1da8 second context translation_unit_decl 0x2aafb508 D.1 full-name struct pairbool, bool X() X(constX) this=(X) n_parents=0 use_template=1 interface-unknown pointer_to_this pointer_type 0x2b603150 chain type_decl 0x2b5ce958 pair used ignored regdecl BLK file PR48660.cpp line 31 col 1 size integer_cst 0x2aaf05f0 16 unit size integer_cst 0x2aaf0618 2 align 8 (reg:HI 140 [ retval ]) This is in turn happening because DECL_MODE (decl) == BLKmode, while in the caller, GET_MODE (decl_rtl) == HImode. It's not clear to me whether the rtx expression should have been in BLKmode in the first place, or whether expand_expr_real_1() should tolerate the conversion. The context in expand_expr_real_1() suggests that the point of the call to promote_decl_mode() was to get the signedness of the result, and the only use of its return value is in the gcc_assert(). I will check whether moving the gcc_assert() inside the results in promote_function_mode() branch results in correct code; however, that may just be papering over a real problem.
[Bug c/49017] [avr] -ffunction-sections causes linker to fail
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49017 Eric Weddington eric.weddington at atmel dot com changed: What|Removed |Added Status|WAITING |UNCONFIRMED Ever Confirmed|1 |0 --- Comment #4 from Eric Weddington eric.weddington at atmel dot com 2011-07-11 20:47:20 UTC --- (In reply to comment #3) Yes. I guess this feature will become obsolete when -flto gets stable, but I don't how far that is. Actually it won't become obsolete. They do different things.
[Bug c++/49672] [C++0x] Internal error when passing variadic template args to a lambda function
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49672 --- Comment #1 from Jason Merrill jason at gcc dot gnu.org 2011-07-11 21:03:23 UTC --- Author: jason Date: Mon Jul 11 21:03:19 2011 New Revision: 176183 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=176183 Log: PR c++/49672 * pt.c (extract_fnparm_pack): Split out from... (make_fnparm_pack): ...here. (instantiate_decl): Handle non-pack parms after a pack. * semantics.c (maybe_add_lambda_conv_op): Don't in a template. Added: trunk/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-variadic1.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/pt.c trunk/gcc/cp/semantics.c
[Bug c++/49672] [C++0x] Internal error when passing variadic template args to a lambda function
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49672 --- Comment #2 from Jason Merrill jason at gcc dot gnu.org 2011-07-11 22:04:39 UTC --- Author: jason Date: Mon Jul 11 22:04:36 2011 New Revision: 176187 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=176187 Log: PR c++/49672 * pt.c (extract_fnparm_pack): Split out from... (make_fnparm_pack): ...here. (instantiate_decl): Handle non-pack parms after a pack. * semantics.c (maybe_add_lambda_conv_op): Don't in a template. Added: branches/gcc-4_6-branch/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-variadic1.C Modified: branches/gcc-4_6-branch/gcc/cp/ChangeLog branches/gcc-4_6-branch/gcc/cp/pt.c branches/gcc-4_6-branch/gcc/cp/semantics.c
[Bug c++/49672] [C++0x] Internal error when passing variadic template args to a lambda function
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49672 Jason Merrill jason at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED Target Milestone|--- |4.6.2 --- Comment #3 from Jason Merrill jason at gcc dot gnu.org 2011-07-11 22:05:50 UTC --- Fixed for 4.6.2.
[Bug rtl-optimization/49474] [4.7 Regression] ppc ICEs with -O3 (bootstrapping with -O3)
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49474 Andrew Pinski pinskia at gcc dot gnu.org changed: What|Removed |Added Host|powerpc-gnu-linux-uclibc| Known to fail||4.7.0 Build|powerpc-gnu-linux-uclibc| --- Comment #3 from Andrew Pinski pinskia at gcc dot gnu.org 2011-07-11 22:05:44 UTC --- I can reproduce this with a cross compiler, I am reducing the testcase right now.
[Bug regression/49500] [4.7 Regression]: gcc.dg/tls/alias-1.c
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49500 --- Comment #9 from Hans-Peter Nilsson hp at gcc dot gnu.org 2011-07-11 22:06:29 UTC --- Honza, can you post and commit the patch so we can close this? Thanks.
[Bug ada/48835] Porting GNAT to GNU/Linux/m68k
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48835 --- Comment #19 from Mikael Pettersson mikpe at it dot uu.se 2011-07-11 22:27:53 UTC --- I have type-correct s-memory-m68k.ad{b,s} written and tested on x86 (by adding s-memory.adbs-memory-m68k.adb and ditto for .ads rules to the linux x86 Makefile.in fragment), but when I do this natively on m68k-linux the replacements don't happen for some reason, causing bootstrap to fail in stage3. Specifically, when I did this on x86 I got a bunch of symbolic links in my objdir matching (I assume) the .ad{b,s} replacements, but on m68k I got no such symlinks at all. Something weird is going in Makefile.in ...
[Bug rtl-optimization/49474] [4.7 Regression] ppc ICEs with -O3 (bootstrapping with -O3 and --disable-checking)
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49474 Andrew Pinski pinskia at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2011.07.11 22:28:28 Summary|[4.7 Regression] ppc ICEs |[4.7 Regression] ppc ICEs |with -O3 (bootstrapping |with -O3 (bootstrapping |with -O3) |with -O3 and ||--disable-checking) Ever Confirmed|0 |1 --- Comment #4 from Andrew Pinski pinskia at gcc dot gnu.org 2011-07-11 22:28:28 UTC --- reduced testcase: typedef struct gfc_formal_arglist { int next; } gfc_actual_arglist; update_arglist_pass (gfc_actual_arglist* lst, int po, unsigned argpos, const char *name) { ((void)(__builtin_expect(!(argpos 0), 0) ? __builtin_unreachable(), 0 : 0)); if (argpos == 1) return 0; if (lst) lst-next = update_arglist_pass (lst-next, po, argpos - 1, name); else lst = update_arglist_pass (((void *)0), po, argpos - 1, name); } --- CUT --- Simple fix: Index: cprop.c === --- cprop.c(revision 176186) +++ cprop.c(working copy) @@ -1332,7 +1332,7 @@ find_implicit_sets (void) FOR_EACH_BB (bb) { /* Check for more than one successor. */ - if (! EDGE_COUNT (bb-succs) 1) + if (EDGE_COUNT (bb-succs) = 1) continue; cond = fis_get_condition (BB_END (bb));
[Bug c/49706] New: No warning for (!x 1) which is always false
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49706 Summary: No warning for (!x 1) which is always false Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassig...@gcc.gnu.org ReportedBy: pins...@gcc.gnu.org Found this while looking into PR49474: /* { dg-options -Wextra -Wall } */ void warn (void); int f(int a) { if (!a 1) /* { dg-warning false } */ warn(); return 0; }
[Bug c++/45697] __restrict__ inconsistent in presence of typedefs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45697 --- Comment #4 from Evan Martin evan at chromium dot org 2011-07-11 22:38:49 UTC --- Sorry, I should have linked to the bug that prompted this bug report. http://code.google.com/p/skia/issues/detail?id=63 Briefly, the Skia library (used by Google Chrome and Android) has usage of restrict that Clang complains about. In trying to reduce the problem to a test case, I encountered the below inconsistency in gcc and thought I'd be a good citizen to file a bug. If the Skia code is just wrong by the spec, it's probably not worth changing gcc. The Skia usage of restrict presumably worked on some platform, or they wouldn't have checked it in. But perhaps it was ignored on those platforms anyway. I have asked on the Skia bug for more information. It seems likely to me this bug should be WONTFIXed.
[Bug ada/48835] Porting GNAT to GNU/Linux/m68k
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48835 --- Comment #20 from Thorsten Glaser tg at mirbsd dot org 2011-07-11 22:52:04 UTC --- Have you applied the patch I attached to this bugreport before? The sections in Makefile.in are actually target specific, and my patch added one for m68k-linux as: +ifeq ($(strip $(filter-out m68k% linux%,$(arch) $(osys))),) I’m fairly certain it did pick these when I built it.
[Bug bootstrap/49707] New: GCC sends incorrect flags to native IRIX ld
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49707 Summary: GCC sends incorrect flags to native IRIX ld Product: gcc Version: 4.5.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: bootstrap AssignedTo: unassig...@gcc.gnu.org ReportedBy: kai...@sucs.org on an sgi-mips-irix6.5 machine when trying to build I receive the following error when make starts to link. /home/member/kais58/beast/tgc/tgcware-for-irix/gcc45/src/all_pthreads/./gcc/xgcc -B/home/member/kais58/beast/tgc/tgcware-for-irix/gcc45/src/all_pthreads/./gcc/ -B/usr/sucs/gcc45/mips-sgi-irix6.5/bin/ -B/usr/sucs/gcc45/mips-sgi-irix6.5/lib/ -isystem /usr/sucs/gcc45/mips-sgi-irix6.5/include -isystem /usr/sucs/gcc45/mips-sgi-irix6.5/sys-include-O2 -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -shared -nodefaultlibs -Wl,-soname,libgcc_s.so.1 -o 64/libgcc_s.so.1.tmp -g -O2 -mabi=64 -B./ _muldi3_s.o _negdi2_s.o _lshrdi3_s.o _ashldi3_s.o _ashrdi3_s.o _cmpdi2_s.o _ucmpdi2_s.o _clear_cache_s.o_enable_execute_stack_s.o _trampoline_s.o __main_s.o _absvsi2_s.o _absvdi2_s.o _addvsi3_s.o _addvdi3_s.o _subvsi3_s.o _subvdi3_s.o _mulvsi3_s.o _mulvdi3_s.o _negvsi2_s.o _negvdi2_s.o _ctors_s.o _ffssi2_s.o _ffsdi2_s.o _clz_s.o _clzsi2_s.o _clzdi2_s.o _ctzsi2_s.o _ctzdi2_s.o _popcount_tab_s.o _popcountsi2_s.o _popcountdi2_s.o _paritysi2_s.o _paritydi2_s.o _powisf2_s.o _powidf2_s.o _powixf2_s.o _powitf2_s.o _mulsc3_s.o _muldc3_s.o _mulxc3_s.o _multc3_s.o _divsc3_s.o _divdc3_s.o _divxc3_s.o _divtc3_s.o _bswapsi2_s.o _bswapdi2_s.o _fixunssfsi_s.o _fixunsdfsi_s.o _fixunsxfsi_s.o _fixsfdi_s.o _fixdfdi_s.o _fixxfdi_s.o _fixtfdi_s.o _fixunssfdi_s.o _fixunsdfdi_s.o _fixunsxfdi_s.o _fixunstfdi_s.o _floatdisf_s.o _floatdidf_s.o _floatdixf_s.o _floatditf_s.o _floatundisf_s.o _floatundidf_s.o _floatundixf_s.o _floatunditf_s.o _fixsfti_s.o _fixdfti_s.o _fixxfti_s.o _fixtfti_s.o _fixunssfti_s.o _fixunsdfti_s.o _fixunsxfti_s.o _fixunstfti_s.o _floattisf_s.o _floattidf_s.o _floattixf_s.o _floattitf_s.o _floatuntisf_s.o _floatuntidf_s.o _floatuntixf_s.o _floatuntitf_s.o _divdi3_s.o _moddi3_s.o _udivdi3_s.o _umoddi3_s.o _udiv_w_sdiv_s.o _udivmoddi4_s.o _pack_sf_s.o _unpack_sf_s.o _addsub_sf_s.o _mul_sf_s.o _div_sf_s.o _fpcmp_parts_sf_s.o _compare_sf_s.o _eq_sf_s.o _ne_sf_s.o _gt_sf_s.o _ge_sf_s.o _lt_sf_s.o _le_sf_s.o _unord_sf_s.o _si_to_sf_s.o _sf_to_si_s.o _negate_sf_s.o _make_sf_s.o _sf_to_df_s.o _sf_to_tf_s.o _thenan_sf_s.o _sf_to_usi_s.o _usi_to_sf_s.o _pack_df_s.o _unpack_df_s.o _addsub_df_s.o _mul_df_s.o _div_df_s.o _fpcmp_parts_df_s.o _compare_df_s.o _eq_df_s.o _ne_df_s.o _gt_df_s.o _ge_df_s.o _lt_df_s.o _le_df_s.o _unord_df_s.o _si_to_df_s.o _df_to_si_s.o _negate_df_s.o _make_df_s.o _df_to_sf_s.o _df_to_tf_s.o _thenan_df_s.o _df_to_usi_s.o _usi_to_df_s.o _pack_tf_s.o _unpack_tf_s.o _addsub_tf_s.o _mul_tf_s.o _div_tf_s.o _fpcmp_parts_tf_s.o _compare_tf_s.o _eq_tf_s.o _ne_tf_s.o _gt_tf_s.o _ge_tf_s.o _lt_tf_s.o _le_tf_s.o _unord_tf_s.o _si_to_tf_s.o _tf_to_si_s.o _negate_tf_s.o _make_tf_s.o _tf_to_df_s.o _tf_to_sf_s.o _thenan_tf_s.o _tf_to_usi_s.o _usi_to_tf_s.o unwind-dw2_s.o unwind-dw2-fde_s.o unwind-sjlj_s.o gthr-gnat_s.o unwind-c_s.o emutls_s.o -lc rm -f 64/libgcc_s.so if [ -f 64/libgcc_s.so.1 ]; then mv -f 64/libgcc_s.so.1 64/libgcc_s.so.1.backup; else true; fi mv 64/libgcc_s.so.1.tmp 64/libgcc_s.so.1 ln -s libgcc_s.so.1 64/libgcc_s.so ld: ERROR 4: Conflicting flag setting: -64 ld: FATAL 12: Expecting o32 objects: /home/member/kais58/beast/tgc/tgcware-for-irix/gcc45/src/all_pthreads/./gcc/64/irix-crti.o is 64-bit. collect2: ld returned 4 exit status it appears to be sending 2 of the object identify flags to ld which it doesnt like :/ ../gcc-4.5.2/configure --prefix=/usr/sucs/gcc45 --with-local-prefix=/usr/sucs/gcc45 --disable-nls --with-gmp=/usr/tgcware --with-mpfr=/usr/tgcware --with-mpc=/usr/tgcware --enable-shared --with-gnu-as --with-as=/usr/tgcware/bin/as --with-ld=/usr/bin/ld --enable-languages=c --with-bugurl=http://sucs.org
[Bug fortran/49708] New: internal compiler error with allocate and no dimensions
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49708 Summary: internal compiler error with allocate and no dimensions Product: gcc Version: 4.6.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran AssignedTo: unassig...@gcc.gnu.org ReportedBy: fnord...@yahoo.com Compiling the following code with no options leads to the internal compiler error. Expected behavior would be an error related to the missing dimension size. Works when 'x' is declared with 'allocatable' and not 'pointer'. subroutine fubar(x) real, pointer, dimension(:) :: x allocate(x) end subroutine fubar bug.f90: In function 'fubar': bug.f90:5:0: internal compiler error: in gfc_array_allocate, at fortran/trans-array.c:4372 Please submit a full bug report, with preprocessed source if appropriate. See http://gcc.gnu.org/bugs.html for instructions.
[Bug tree-optimization/49709] New: Bad code gen with -fipa-sra
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49709 Summary: Bad code gen with -fipa-sra Product: gcc Version: 4.7.0 Status: UNCONFIRMED Keywords: wrong-code Severity: major Priority: P3 Component: tree-optimization AssignedTo: unassig...@gcc.gnu.org ReportedBy: i...@airs.com Created attachment 24741 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=24741 Test case I have attached a C test case. When compiled for x86 with -m32 -O2, the test case aborts. When compiled with -m32, or with -m32 -O2 -fno-ipa-sra it runs to completion. I believe the bug is that ipa-sra leaves a call which refers to function parameters using MEM_REF expressions which refer to fields of the parameters. These are translated into MEM expressions which load the address of the parameter into a register and then use a MEM_REF to load an offset from that register. This MEM does not refer to the internal_arg_pointer, but to a register which was set based on the internal_arg_pointer. That means that mem_overlaps_already_clobbered_arg_p in calls.c does not recognize that the MEM refers to the argument area. That in turn means that gcc thinks that it can make a tail call, but when setting up the arguments for the call it clobbers arguments that it has yet to read. The fix may be to make mem_overlaps_already_clobbered_arg_p much smarter, or to disable tail calls when applying SRA to a function and passes parameters to it.
[Bug tree-optimization/49709] Bad code gen with -fipa-sra
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49709 --- Comment #1 from pinskia at gmail dot com pinskia at gmail dot com 2011-07-12 00:58:13 UTC --- Hmmm. There was just a recent patch to the tail call area which was supposed to fix a testcase like this. Sent from my Palm Pre on ATamp;T On Jul 11, 2011 17:51, ian at airs dot com lt;gcc-bugzi...@gcc.gnu.orggt; wrote: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49709 Summary: Bad code gen with -fipa-sra Product: gcc Version: 4.7.0 Status: UNCONFIRMED Keywords: wrong-code Severity: major Priority: P3 Component: tree-optimization AssignedTo: unassig...@gcc.gnu.org ReportedBy: i...@airs.com Created attachment 24741 --gt; http://gcc.gnu.org/bugzilla/attachment.cgi?id=24741 Test case I have attached a C test case. When compiled for x86 with -m32 -O2, the test case aborts. When compiled with -m32, or with -m32 -O2 -fno-ipa-sra it runs to completion. I believe the bug is that ipa-sra leaves a call which refers to function parameters using MEM_REF expressions which refer to fields of the parameters. These are translated into MEM expressions which load the address of the parameter into a register and then use a MEM_REF to load an offset from that register. This MEM does not refer to the internal_arg_pointer, but to a register which was set based on the internal_arg_pointer. That means that mem_overlaps_already_clobbered_arg_p in calls.c does not recognize that the MEM refers to the argument area. That in turn means that gcc thinks that it can make a tail call, but when setting up the arguments for the call it clobbers arguments that it has yet to read. The fix may be to make mem_overlaps_already_clobbered_arg_p much smarter, or to disable tail calls when applying SRA to a function and passes parameters to it.
[Bug tree-optimization/49709] Bad code gen with -fipa-sra
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49709 --- Comment #2 from Andrew Pinski pinskia at gcc dot gnu.org 2011-07-12 01:25:00 UTC --- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49519
[Bug libmudflap/14118] h8300-elf, avr-elf, m68k-elf ports cannot build libmudflap
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14118 Eric Weddington eric.weddington at atmel dot com changed: What|Removed |Added CC||eric.weddington at atmel ||dot com --- Comment #13 from Eric Weddington eric.weddington at atmel dot com 2011-07-12 02:23:51 UTC --- Is this really a bug anymore? How long has this been suspended?
[Bug middle-end/43690] [4.4 Regression] Internal compiler error detected by avr-gcc.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43690 --- Comment #9 from Eric Weddington eric.weddington at atmel dot com 2011-07-12 02:58:20 UTC --- Patches were committed some time ago. Does this bug need to be marked as RESOLVED FIXED?
[Bug middle-end/49519] [4.7 Regression] Revision 175272 miscompiled 447.dealII in SPEC CPU 2006
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49519 Ian Lance Taylor ian at airs dot com changed: What|Removed |Added CC||ian at airs dot com --- Comment #27 from Ian Lance Taylor ian at airs dot com 2011-07-12 04:37:01 UTC --- This patch seems too conservative and it appears that it will cause the compiler to miss all tailcalls with pointer arguments. It only matters if the register points to the incoming parameters, which can only happen in unusual cases. We should be able to determine that reliably. Janis, did you open a PR for the missing optimization? I didn't see one.
[Bug c/49710] New: segfault
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49710 Summary: segfault Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassig...@gcc.gnu.org ReportedBy: reg...@cs.utah.edu [regehr@gamow tmp037]$ current-gcc -v Using built-in specs. COLLECT_GCC=current-gcc COLLECT_LTO_WRAPPER=/uusoc/exports/scratch/regehr/z/compiler-install/gcc-r176182-install/bin/../libexec/gcc/x86_64-unknown-linux-gnu/4.7.0/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: ../configure --with-libelf=/usr/local --enable-lto --prefix=/home/regehr/z/compiler-install/gcc-r176182-install --program-prefix=r176182- --enable-languages=c,c++ Thread model: posix gcc version 4.7.0 20110711 (experimental) (GCC) [regehr@gamow tmp037]$ current-gcc -Ofast -funroll-loops small.c small.c: In function 'func_62.constprop.0': small.c:24:1: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See http://gcc.gnu.org/bugs.html for instructions. [regehr@gamow tmp037]$ cat small.c int safe_62 (int ui1, int ui2) { return ui1 + 1; } int g_3; int g_9; int g_21; int g_143; static int func_62 (int *p_66) { lbl_334: for (g_21 = 0;;) { if (*p_66) break; for (; g_9;) for (; g_21; g_21 = 0) ; for (g_143 = 18; g_143 != 18; g_143 = safe_62 (g_143, 0)) if (g_21) goto lbl_334; } return 0; } static const int *func_24 (void) { func_62 (0); func_62 (0); for (;;) ; } int func_1 (void) { for (; g_3;) return 0; func_24 (); return 0; } int main (void) { return 0; }
[Bug middle-end/49711] New: [4.7 Regression] 186.crafty in SPEC CPU 2000 failed to build
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49711 Summary: [4.7 Regression] 186.crafty in SPEC CPU 2000 failed to build Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: unassig...@gcc.gnu.org ReportedBy: hjl.to...@gmail.com On Linux/x86-64, revision 176154 gave: [hjl@gnu-33 delta]$ cat testcase.c typedef struct { signed char board[64]; } CHESS_POSITION; typedef unsigned long long BITBOARD; extern BITBOARD bishop_attacks[64]; extern BITBOARD queen_attacks[64]; extern BITBOARD mask_1; extern BITBOARD plus7dir[65]; void InitializeAttackBoards(int sq, int lastsq) { int i, j; int bishopsq[4]={ -9,-7,7,9}; for(i=0; i64; i++) { for(j=0; j4; j++) { while((abs(sq/8-lastsq/8)==1) (abs((sq7)-(lastsq7))==1) (sq 64) (sq -1)) { bishop_attacks[i]=((bishop_attacks[i]) | (((mask_1) (sq; queen_attacks[i]=((queen_attacks[i]) | (((mask_1) (sq; if(bishopsq[j]==7) plus7dir[i]=((plus7dir[i]) | (((mask_1) (sq; } } } } [hjl@gnu-33 delta]$ /export/build/gnu/gcc/release/usr/gcc-4.7.0/bin/gcc -S -O3 -funroll-loops -ffast-math -fwhole-program -flto -S testcase.c testcase.c: In function \u2018InitializeAttackBoards\u2019: testcase.c:9:7: internal compiler error: in gen_lsm_tmp_name, at tree-ssa-loop-im.c:2048 Please submit a full bug report, with preprocessed source if appropriate. See http://gcc.gnu.org/bugs.html for instructions. [hjl@gnu-33 delta]$
[Bug tree-optimization/49709] Bad code gen with -fipa-sra
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49709 Ian Lance Taylor ian at airs dot com changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||DUPLICATE --- Comment #3 from Ian Lance Taylor ian at airs dot com 2011-07-12 04:54:14 UTC --- Guess I should have updated my sources first. Sorry about that. *** This bug has been marked as a duplicate of bug 49519 ***
[Bug middle-end/49519] [4.7 Regression] Revision 175272 miscompiled 447.dealII in SPEC CPU 2006
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49519 --- Comment #28 from Ian Lance Taylor ian at airs dot com 2011-07-12 04:54:14 UTC --- *** Bug 49709 has been marked as a duplicate of this bug. ***
[Bug c/49712] New: internal compiler error: in gen_lsm_tmp_name, at tree-ssa-loop-im.c:2048
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49712 Summary: internal compiler error: in gen_lsm_tmp_name, at tree-ssa-loop-im.c:2048 Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassig...@gcc.gnu.org ReportedBy: reg...@cs.utah.edu CC: arthur.j.odw...@gmail.com [regehr@gamow tmp040]$ current-gcc -Ofast small.c small.c: In function 'main': small.c:40:5: internal compiler error: in gen_lsm_tmp_name, at tree-ssa-loop-im.c:2048 Please submit a full bug report, with preprocessed source if appropriate. See http://gcc.gnu.org/bugs.html for instructions. [regehr@gamow tmp040]$ current-gcc -v Using built-in specs. COLLECT_GCC=current-gcc COLLECT_LTO_WRAPPER=/uusoc/exports/scratch/regehr/z/compiler-install/gcc-r176182-install/bin/../libexec/gcc/x86_64-unknown-linux-gnu/4.7.0/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: ../configure --with-libelf=/usr/local --enable-lto --prefix=/home/regehr/z/compiler-install/gcc-r176182-install --program-prefix=r176182- --enable-languages=c,c++ Thread model: posix gcc version 4.7.0 20110711 (experimental) (GCC) [regehr@gamow tmp040]$ cat small.c int safe_14 (int si1, int si2) { return 0; } struct S0 { int f5; }; struct S1 { }; int g_60[100]; int g_61; int g_62; struct S0 g_74; int g_104; struct S1 g_660; int func_75 (struct S0 *p_78) { lbl_126: for (; 0;) goto lbl_126; return 0; } struct S0 *func_80 (void) { int l_90; for (l_90 = 0; l_90 = 4; l_90 += 1) for (; g_74.f5 = 0; g_74.f5 = 1) { int i; for (i = 0; i 4; i++) for (g_104 = 0; g_104; g_104 = 1) { } } return 0; } int main (void) { for (g_61 = 0; g_61 = 0; g_61 += 1) { for (; g_62; g_62 -= 0) { long *l_132 = 0; safe_14 (g_60[g_61] = 0, func_75 (func_80 ())), *l_132 = (func_80 (), 0); } } return 0; }
[Bug middle-end/49711] [4.7 Regression] 186.crafty in SPEC CPU 2000 failed to build
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49711 H.J. Lu hjl.tools at gmail dot com changed: What|Removed |Added CC||krebbel1 at de dot ibm.com Target Milestone|--- |4.7.0 --- Comment #1 from H.J. Lu hjl.tools at gmail dot com 2011-07-12 05:10:15 UTC --- Revision 176140 is OK and 176140 is bad. It may be caused by revision 176142: http://gcc.gnu.org/ml/gcc-cvs/2011-07/msg00407.html
[Bug tree-optimization/49712] internal compiler error: in gen_lsm_tmp_name, at tree-ssa-loop-im.c:2048
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49712 --- Comment #1 from Andrew Pinski pinskia at gcc dot gnu.org 2011-07-12 05:15:55 UTC --- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49711
[Bug middle-end/49711] [4.7 Regression] 186.crafty in SPEC CPU 2000 failed to build
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49711 --- Comment #2 from Andrew Pinski pinskia at gcc dot gnu.org 2011-07-12 05:16:01 UTC --- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49712
[Bug middle-end/43690] [4.4 Regression] Internal compiler error detected by avr-gcc.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43690 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #10 from Jakub Jelinek jakub at gcc dot gnu.org 2011-07-12 05:55:26 UTC --- Fixed.