[Bug target/45261] Doesn't indicate failure status when it doesn't support (attiny2313A)
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45261 ats changed: What|Removed |Added CC||atstivalet at gmail dot com --- Comment #9 from ats 2010-12-15 06:21:55 UTC --- I can confirm Ian's patch works. Thanks guys.
[Bug c++/46930] [C++0x] ICE with static constexpr data member
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46930 Paolo Carlini changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||FIXED Target Milestone|--- |4.6.0 --- Comment #4 from Paolo Carlini 2010-12-15 06:05:21 UTC --- I think we can close it as fixed now
[Bug c++/46930] [C++0x] ICE with static constexpr data member
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46930 --- Comment #3 from Paolo Carlini 2010-12-15 06:03:45 UTC --- Many thanks!
[Bug bootstrap/40894] [4.4/4.5/4.6 Regression] bootstrap4-lean failed crtfastmath.o comparision
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40894 Hin-Tak Leung changed: What|Removed |Added Known to work|| Known to fail||4.4.5 --- Comment #8 from Hin-Tak Leung 2010-12-15 05:17:11 UTC --- Just try with 4.4.5, still fails at the same place: make[2]: Entering directory `/home/htl10/tmp-build/gcc-445-obj' make[3]: Entering directory `/home/htl10/tmp-build/gcc-445-obj' rm -f stage_current make[3]: Leaving directory `/home/htl10/tmp-build/gcc-445-obj' Comparing stages 3 and 4 Bootstrap comparison failure! ./crtfastmath.o differs make[2]: *** [compare3] Error 1 make[2]: Leaving directory `/home/htl10/tmp-build/gcc-445-obj' make[1]: *** [stage4-bubble] Error 2 make[1]: Leaving directory `/home/htl10/tmp-build/gcc-445-obj' make: *** [bootstrap4-lean] Error 2 bash-2.05a# bash-2.05a# objdump -Dxzs stage3-gcc/crtfastmath.o > stage3-dump bash-2.05a# objdump -Dxzs stage4-gcc/crtfastmath.o > stage4-dump bash-2.05a# diff -u stage3-dump stage4-dump --- stage3-dump2010-12-15 05:03:03.0 + +++ stage4-dump2010-12-15 05:03:18.0 + @@ -1,6 +1,6 @@ -stage3-gcc/crtfastmath.o: file format ecoff-littlealpha -stage3-gcc/crtfastmath.o +stage4-gcc/crtfastmath.o: file format ecoff-littlealpha +stage4-gcc/crtfastmath.o architecture: alpha, flags 0x0035: HAS_RELOC, HAS_LINENO, HAS_SYMS, HAS_LOCALS start address 0x @@ -70,7 +70,7 @@ 0010 00301f22 10807da7 00405b6b 0100ba27 .0.".@[k...' 0020 2480bd23 5ea7 1000de23 0180fa6b $..#..^#...k Contents of section .xdata: - 0030 3100 02000204 1... + 0030 0100 02000204 Contents of section .pdata: 0040 ecff Contents of section .lita: @@ -100,7 +100,7 @@ Disassembly of section .xdata: 0030 <.xdata>: - 30:31 00 00 00 call_pal0x31 + 30:01 00 00 00 call_pal0x1 34:02 00 02 04 .long 0x4020002 38:00 00 00 00 halt 3c:00 00 00 00 halt bash-2.05a#
[Bug middle-end/46845] -fgraphite-identity causes ICE in gcc.dg/pr43300.c at -m32/-m64
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46845 Sebastian Pop changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #7 from Sebastian Pop 2010-12-15 05:08:57 UTC --- Fixed.
[Bug tree-optimization/45948] [4.6 Regression] ICE: SIGSEGV in find_uses_to_rename_use (tree-ssa-loop-manip.c:1242) with -O -fstrict-overflow -ftree-loop-distribution
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45948 Sebastian Pop changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #8 from Sebastian Pop 2010-12-15 05:07:53 UTC --- Fixed.
[Bug tree-optimization/46928] data dependence analysis fails on constant array accesses
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46928 Sebastian Pop changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #7 from Sebastian Pop 2010-12-15 05:07:27 UTC --- Fixed.
[Bug tree-optimization/45948] [4.6 Regression] ICE: SIGSEGV in find_uses_to_rename_use (tree-ssa-loop-manip.c:1242) with -O -fstrict-overflow -ftree-loop-distribution
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45948 --- Comment #7 from Sebastian Pop 2010-12-15 05:04:34 UTC --- Author: spop Date: Wed Dec 15 05:04:30 2010 New Revision: 167842 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=167842 Log: Fix PR45948: add ssa defs from builtin partitions to the last partition. 2010-12-14 Sebastian Pop PR tree-optimization/45948 * tree-loop-distribution.c (ssa_name_has_uses_outside_loop_p): New. (stmt_has_scalar_dependences_outside_loop): New. (stmt_generated_in_another_partition): New. (add_scalar_computations_to_partition): New. (rdg_build_partitions): Call add_scalar_computations_to_partition. * gcc.dg/tree-ssa/ldist-pr45948.c: New. Added: trunk/gcc/testsuite/gcc.dg/tree-ssa/ldist-pr45948.c Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog trunk/gcc/tree-loop-distribution.c
[Bug middle-end/46845] -fgraphite-identity causes ICE in gcc.dg/pr43300.c at -m32/-m64
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46845 --- Comment #6 from Sebastian Pop 2010-12-15 05:04:52 UTC --- Author: spop Date: Wed Dec 15 05:04:50 2010 New Revision: 167844 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=167844 Log: Fix PR46845: handle scop parameters before scev analysis. 2010-12-14 Sebastian Pop PR tree-optimization/46845 * sese.c (scalar_evolution_in_region): Handle scop parameters before scev analysis. * gcc.dg/graphite/id-pr46845.c: New. Added: trunk/gcc/testsuite/gcc.dg/graphite/id-pr46845.c Modified: trunk/gcc/ChangeLog trunk/gcc/sese.c trunk/gcc/testsuite/ChangeLog
[Bug tree-optimization/46928] data dependence analysis fails on constant array accesses
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46928 --- Comment #6 from Sebastian Pop 2010-12-15 05:04:43 UTC --- Author: spop Date: Wed Dec 15 05:04:40 2010 New Revision: 167843 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=167843 Log: Fix PR46928: handle "A[p] == A[p]" in data dep analysis with p a parameter of the loop. 2010-12-14 Sebastian Pop PR tree-optimization/46928 * tree-data-ref.c (analyze_overlapping_iterations): Handle "A[p] == A[p]" in data dependence analysis with p a parameter of the loop. * gcc.dg/tree-ssa/ldist-17.c: New. Added: trunk/gcc/testsuite/gcc.dg/tree-ssa/ldist-17.c Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog trunk/gcc/tree-data-ref.c
[Bug other/46954] New: FDEs possibly left unsorted in unwind-dw2-fde.c
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46954 Summary: FDEs possibly left unsorted in unwind-dw2-fde.c Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: other AssignedTo: unassig...@gcc.gnu.org ReportedBy: jvo...@google.com Not completely sure if this is a bug in GCC or my toolchain, but I have been able to trigger a situation where _Unwind_Find_FDE is unable to find an FDE. In my case, the reason is that the FDEs are only partially sorted even though "ob->s.b.sorted = 1", so the binary search (binary_search_mixed_encoded_fdes in particular) fails. By patching end_fde_sort() with: --- a/llvm-gcc-4.2/gcc/unwind-dw2-fde.c +++ b/llvm-gcc-4.2/gcc/unwind-dw2-fde.c @@ -588,6 +588,11 @@ fde_split (ob, fde_compare, accu->linear, accu->erratic); gcc_assert (accu->linear->count + accu->erratic->count == count); frame_heapsort (ob, fde_compare, accu->erratic); + frame_heapsort (ob, fde_compare, accu->linear); fde_merge (ob, fde_compare, accu->linear, accu->erratic); free (accu->erratic); } The FDEs are fully sorted and binary search succeeds. I don't know the code well at all, but is the patch correct, or should accu->linear already be sorted? In the else-branch, the code does a heap sort on accu->linear, which leads me to believe that it accu->linear may be unsorted (and so should be sorted as well).
[Bug c++/46862] ICE on std::decimal::decimal32 without any fields
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46862 Janis Johnson changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed||2010.12.15 04:00:43 Ever Confirmed|0 |1 --- Comment #5 from Janis Johnson 2010-12-15 04:00:43 UTC --- I'm working on a fix.
[Bug middle-end/46924] [4.6 Regression] ICE: SIGSEGV in rewrite_commutative_reductions_out_of_ssa_loop (graphite-poly.h:450) with -fgraphite-identity -ffast-math -fno-tree-loop-im
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46924 H.J. Lu changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2010.12.15 03:49:16 Target Milestone|--- |4.6.0 Ever Confirmed|0 |1 --- Comment #1 from H.J. Lu 2010-12-15 03:49:16 UTC --- It is caused by revision 167348: http://gcc.gnu.org/ml/gcc-cvs/2010-12/msg00029.html
[Bug middle-end/46916] gcc.dg/torture/stackalign/non-local-goto-[1,2].c ICEs compiler due to r167727
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46916 --- Comment #53 from Jack Howarth 2010-12-15 03:19:51 UTC --- (In reply to comment #51) > > which I assume should have be a change to... > > > > ! base_section = darwin_text_section (weak); > > Ah, yes. Sorry for the typo. Does it make any difference? > > Honza Honza, This correction added to the attached reduced patch passes both... make -k check RUNTESTFLAGS="tree-prof.exp --target_board=unix'{-m32,-m64}'" and make -k check RUNTESTFLAGS="stackalign.exp --target_board=unix'{-m32,-m64}'" Running a complete regtest now but this patch still generates code with -g that confuses dsymutil.
[Bug bootstrap/46953] New: [4.6 Regression] profiledbootstrap failed
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46953 Summary: [4.6 Regression] profiledbootstrap failed Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: bootstrap AssignedTo: unassig...@gcc.gnu.org ReportedBy: hjl.to...@gmail.com On Linux/x86-64, revision 167838 failed to profiledbootstrap: http://gcc.gnu.org/ml/gcc-regression/2010-12/msg00145.html Revision 167820 is OK.
[Bug middle-end/46916] gcc.dg/torture/stackalign/non-local-goto-[1,2].c ICEs compiler due to r167727
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46916 --- Comment #52 from Jack Howarth 2010-12-15 03:14:56 UTC --- Created attachment 22760 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22760 reduced patch
[Bug fortran/46952] New: Spurious "recursive call" error with type bound procedure
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46952 Summary: Spurious "recursive call" error with type bound procedure Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran AssignedTo: unassig...@gcc.gnu.org ReportedBy: ian_har...@bigpond.com Created attachment 22759 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22759 Example that generate the error The attached, using a gfortran 4.6 from November 3 on i686-pc-mingw32, generates the error "SUBROUTINE 'relay_proc' ... cannot be called recursively". But I don't think the call is recursive - relay_proc is just the interface for what gets called, not the actual procedure. But Intel Fortran 12.0.1.127 also complains, so maybe I'm wrong.
[Bug libstdc++/46951] 30_threads/future/members/45133.cc failed
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46951 --- Comment #6 from Jonathan Wakely 2010-12-15 02:08:44 UTC --- should be ok now - I had configured with --enable-libstdcxx-time=rt which meant I didn't need -pthread, so the tests passed for me
[Bug libstdc++/46951] 30_threads/future/members/45133.cc failed
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46951 --- Comment #5 from Jonathan Wakely 2010-12-15 02:07:11 UTC --- Author: redi Date: Wed Dec 15 02:07:07 2010 New Revision: 167839 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=167839 Log: 2010-12-15 Jonathan Wakely PR libstdc++/46951 * testsuite/30_threads/future/members/45133.cc: Fix dg-options. * testsuite/30_threads/shared_future/members/45133.cc: Likewise. Modified: trunk/libstdc++-v3/ChangeLog trunk/libstdc++-v3/testsuite/30_threads/future/members/45133.cc trunk/libstdc++-v3/testsuite/30_threads/shared_future/members/45133.cc
[Bug libstdc++/46951] 30_threads/future/members/45133.cc failed
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46951 --- Comment #4 from Jonathan Wakely 2010-12-15 01:59:59 UTC --- doh - I need to add -pthread to the dg-options - fix on the way...
[Bug bootstrap/44959] [4.5 Regression] bootstrap failed at Comparing stages 2 and 3
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44959 Hin-Tak Leung changed: What|Removed |Added Known to fail||4.5.0, 4.5.1 --- Comment #3 from Hin-Tak Leung 2010-12-15 01:53:41 UTC --- (In reply to comment #2) > Please verify if 4.5.1 is still broken. Still broken, and apparently still at the same place: ../gcc-4.5.1/configure && make bootstrap4-lean make[2]: Entering directory `/home/htl10/tmp-build/gcc-obj' make[3]: Entering directory `/home/htl10/tmp-build/gcc-obj' rm -f stage_current make[3]: Leaving directory `/home/htl10/tmp-build/gcc-obj' Comparing stages 2 and 3 warning: gcc/cc1-checksum.o differs warning: gcc/cc1plus-checksum.o differs warning: gcc/cc1obj-checksum.o differs Bootstrap comparison failure! gcc/java/win32-host.o differs gcc/build/min-insn-modes.o differs gcc/dummy-checksum.o differs gcc/insn-peep.o differs gcc/graphite-blocking.o differs gcc/graphite-clast-to-gimple.o differs gcc/graphite-dependences.o differs gcc/graphite-interchange.o differs gcc/graphite-poly.o differs gcc/graphite-ppl.o differs gcc/graphite-scop-detection.o differs gcc/graphite-sese-to-poly.o differs gcc/loop-doloop.o differs gcc/version.o differs gcc/vmsdbgout.o differs gcc/xcoffout.o differs gcc/host-default.o differs gcc/gcc-options.o differs gcc/collect2-aix.o differs intl/osdep.o differs libiberty/safe-ctype.o differs make[2]: *** [compare] Error 1 make[2]: Leaving directory `/home/htl10/tmp-build/gcc-obj' make[1]: *** [stage3-bubble] Error 2 make[1]: Leaving directory `/home/htl10/tmp-build/gcc-obj' make: *** [bootstrap4-lean] Error 2 bash-2.05a# pwd /home/htl10/tmp-build/gcc-obj --
[Bug middle-end/46916] gcc.dg/torture/stackalign/non-local-goto-[1,2].c ICEs compiler due to r167727
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46916 --- Comment #51 from Jan Hubicka 2010-12-15 01:52:59 UTC --- > which I assume should have be a change to... > > ! base_section = darwin_text_section (weak); Ah, yes. Sorry for the typo. Does it make any difference? Honza
[Bug tree-optimization/44897] -fwhopr + ipa-sra misoptimize sqlite
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44897 Jan Hubicka changed: What|Removed |Added Last reconfirmed|2010-10-02 20:21:12 |2010-12-14 20:21:12 --- Comment #7 from Jan Hubicka 2010-12-15 01:51:12 UTC --- still fails.
[Bug libstdc++/46951] 30_threads/future/members/45133.cc failed
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46951 --- Comment #3 from H.J. Lu 2010-12-15 01:41:21 UTC --- (In reply to comment #2) > it only seems to fail on i686, this run failed too: > http://gcc.gnu.org/ml/gcc-testresults/2010-12/msg01246.html I got this on Fedora 14/x86-64 with gcc configured CC="gcc -m32" CXX="g++ -m32" ../src-trunk/configure \ --enable-clocale=gnu --with-system-zlib --enable-shared --with-demangler-in-ld i686-linux --with-fpmath=sse --enable-languages=c,c++,fortran,java,lto,objc Setting LD_LIBRARY_PATH to :/export/gnu/import/svn/gcc-test/bld/gcc:/export/gnu/import/svn/gcc-test/bld/i686-linux/./libstdc++-v3/../libgomp/.libs:/export/gnu/import/svn/gcc-test/bld/i686-linux/./libstdc++-v3/src/.libs::/export/gnu/import/svn/gcc-test/bld/gcc:/export/gnu/import/svn/gcc-test/bld/i686-linux/./libstdc++-v3/../libgomp/.libs:/export/gnu/import/svn/gcc-test/bld/i686-linux/./libstdc++-v3/src/.libs:/export/gnu/import/svn/gcc-test/bld/i686-linux/libstdc++-v3/src/.libs:/export/gnu/import/svn/gcc-test/bld/i686-linux/libmudflap/.libs:/export/gnu/import/svn/gcc-test/bld/i686-linux/libssp/.libs:/export/gnu/import/svn/gcc-test/bld/i686-linux/libgomp/.libs:/export/gnu/import/svn/gcc-test/bld/./gcc:/export/gnu/import/svn/gcc-test/bld/./prev-gcc spawn [open ...]^M terminate called after throwing an instance of 'std::system_error' what(): Unknown error 4294967295 FAIL: 30_threads/future/members/45133.cc execution test
[Bug libstdc++/46951] 30_threads/future/members/45133.cc failed
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46951 --- Comment #2 from Jonathan Wakely 2010-12-15 01:37:50 UTC --- it only seems to fail on i686, this run failed too: http://gcc.gnu.org/ml/gcc-testresults/2010-12/msg01246.html
[Bug libstdc++/46951] 30_threads/future/members/45133.cc failed
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46951 Jonathan Wakely changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed||2010.12.15 01:35:27 AssignedTo|unassigned at gcc dot |redi at gcc dot gnu.org |gnu.org | Ever Confirmed|0 |1 --- Comment #1 from Jonathan Wakely 2010-12-15 01:35:27 UTC --- I don't see it here, could you send me the libstdc++.log file? at least the details of that failing test
[Bug libstdc++/46951] New: 30_threads/future/members/45133.cc failed
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46951 Summary: 30_threads/future/members/45133.cc failed Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: hjl.to...@gmail.com CC: jwakely@gmail.com On Linux/ia32, revision 167827 gave: FAIL: 30_threads/future/members/45133.cc execution test
[Bug debug/46893] [4.5/4.6 Regression] ICE: in trunc_int_for_mode, at explow.c:56 with -O -g
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46893 H.J. Lu changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2010.12.15 01:24:18 CC||aoliva at gcc dot gnu.org Target Milestone|--- |4.6.0 Ever Confirmed|0 |1 --- Comment #1 from H.J. Lu 2010-12-15 01:24:18 UTC --- It is caused by revision 151362: http://gcc.gnu.org/ml/gcc-cvs/2009-09/msg00108.html
[Bug middle-end/46916] gcc.dg/torture/stackalign/non-local-goto-[1,2].c ICEs compiler due to r167727
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46916 --- Comment #50 from Jack Howarth 2010-12-15 01:18:18 UTC --- I noticed that the proposed patch at http://gcc.gnu.org/ml/gcc-patches/2010-12/msg01129.html also seems to have an error here... *** machopic_select_section (tree decl, *** 1276,1282 node->only_called_at_startup, node->only_called_at_exit); if (!base_section) ! base_section = darwin_text_section (reloc, weak); } break; --- 1271,1277 node->only_called_at_startup, node->only_called_at_exit); if (!base_section) ! base_section = darwin_text_section (reloc); } break; which I assume should have be a change to... ! base_section = darwin_text_section (weak);
[Bug ada/46950] New: Stage 3 ada bootstrap error on i686-apple-darwin9
"L011$pb" :541:symbol: "L_system__soft_links__get_current_excep$non_lazy_ptr" can't be und efined in a subtraction expression {standard input}:2691:non-relocatable subtraction expression, "L_system__soft_li nks__get_current_excep$non_lazy_ptr" minus "L010$pb" {standard input}:2691:symbol: "L_system__soft_links__get_current_excep$non_lazy_ ptr" can't be undefined in a subtraction expression {standard input}:2041:non-relocatable subtraction expression, "L_system__soft_li nks__traceback_decorator_wrapper$non_lazy_ptr" minus "L008$pb" {standard input}:2041:symbol: "L_system__soft_links__traceback_decorator_wrapper $non_lazy_ptr" can't be undefined in a subtraction expression {standard input}:2013:non-relocatable subtraction expression, "L_system__standar d_library__local_partition_id$non_lazy_ptr" minus "L007$pb" {standard input}:2013:symbol: "L_system__standard_library__local_partition_id$no n_lazy_ptr" can't be undefined in a subtraction expression {standard input}:1982:non-relocatable subtraction expression, "L_system__soft_li nks__get_current_excep$non_lazy_ptr" minus "L007$pb" {standard input}:1982:symbol: "L_system__soft_links__get_current_excep$non_lazy_ ptr" can't be undefined in a subtraction expression {standard input}:1844:non-relocatable subtraction expression, "L_system__standar d_library__local_partition_id$non_lazy_ptr" minus "L006$pb" {standard input}:1844:symbol: "L_system__standard_library__local_partition_id$no n_lazy_ptr" can't be undefined in a subtraction expression {standard input}:1826:non-relocatable subtraction expression, "L_system__soft_li nks__get_current_excep$non_lazy_ptr" minus "L006$pb" {standard input}:1826:symbol: "L_system__soft_links__get_current_excep$non_lazy_ ptr" can't be undefined in a subtraction expression {standard input}:343:non-relocatable subtraction expression, "_h.3287" minus "L0 01$pb" {standard input}:343:symbol: "_h.3287" can't be undefined in a subtraction expre ssion :unknown:Undefined local symbol L_system__soft_links__get_current_excep$non_lazy _ptr :unknown:Undefined local symbol L_system__standard_library__local_partition_id$n on_lazy_ptr :unknown:Undefined local symbol L_system__soft_links__traceback_decorator_wrappe r$non_lazy_ptr :unknown:Undefined local symbol L_system__standard_library__exception_trace$non_ lazy_ptr :unknown:Undefined local symbol L_system__soft_links__lock_task$non_lazy_ptr :unknown:Undefined local symbol L_system__soft_links__unlock_task$non_lazy_ptr :unknown:Undefined local symbol L_system__soft_links__task_termination_handler$n on_lazy_ptr :unknown:Undefined local symbol L_program_error$non_lazy_ptr :unknown:Undefined local symbol L___gl_exception_tracebacks$non_lazy_ptr :unknown:Undefined local symbol L_constraint_error$non_lazy_ptr :unknown:Undefined local symbol L_system__soft_links__abort_defer$non_lazy_ptr make[6]: *** [a-except.o] Error 1 make[5]: *** [gnatlib] Error 2 make[4]: *** [gnatlib-shared-darwin] Error 2 make[3]: *** [gnatlib-shared] Error 2 make[2]: *** [gnatlib-shared] Error 2 libtool: compile: /Users/dave/gnu/gcc/objdir/./gcc/xgcc -B/Users/dave/gnu/gcc/o bjdir/./gcc/ -B/opt/gnu/gcc/gcc-4.6.0/i686-apple-darwin9/bin/ -B/opt/gnu/gcc/gcc -4.6.0/i686-apple-darwin9/lib/ -isystem /opt/gnu/gcc/gcc-4.6.0/i686-apple-darwin 9/include -isystem /opt/gnu/gcc/gcc-4.6.0/i686-apple-darwin9/sys-include -m64 -D HAVE_CONFIG_H -I. -I../../../../gcc/libquadmath -g -O2 -m64 -MT math/frexpq.lo - MD -MP -MF math/.deps/frexpq.Tpo -c ../../../../gcc/libquadmath/math/frexpq.c - fno-common -DPIC -o math/.libs/frexpq.o make[1]: *** [all-target-libada] Error 2 make[1]: *** Waiting for unfinished jobs d...@macpro-xp:~/gnu/gcc/objdir/prev-gcc$ ./xgcc -B./ -v Reading specs from ./specs COLLECT_GCC=./xgcc COLLECT_LTO_WRAPPER=./lto-wrapper Target: i686-apple-darwin9 Configured with: ../gcc/configure --build=i686-apple-darwin9 --host=i686-apple-darwin9 --target=i686-apple-darwin9 --with-tune=generic --prefix=/opt/gnu/gcc/gcc-4.6.0 --with-gmp=/opt/gnu/gcc/gcc-4.6.0 --enable-debug=no --disable-nls --enable-languages=c,c++,objc,fortran,obj-c++,java,ada --enable-threads=posix --enable-__cxa_atexit --enable-java-gc=boehm Thread model: posix gcc version 4.6.0 20101214 (experimental) [trunk revision 167825] (GCC)
[Bug lto/45375] [meta-bug] Issues with building Mozilla with LTO
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45375 --- Comment #19 from Jan Hubicka 2010-12-15 00:44:25 UTC --- Filled in the GNU LD bug as http://sourceware.org/bugzilla/show_bug.cgi?id=12323
[Bug target/31403] wrong branch instructions generated with -m2a on sh-elf
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31403 --- Comment #9 from Kazumoto Kojima 2010-12-15 00:36:39 UTC --- (In reply to comment #8) > I am getting the same error using gcc 4.4.5 20101112 (Red Hat 4.4.5-2), > with Fedora 13 on an 64 bit machine/OS. Which version of gcc do you use for source? gcc 4.4.5 20101112 (Red Hat 4.4.5-2) looks your host compiler. If you use gcc-4.4.5 as a source for sh-elf cross compiler, it has the fix in #6. In that case, even you've got the strictly same error messages in the original report against newlib's vfprintf.c, it would be a different problem.
[Bug c++/46930] [C++0x] ICE with static constexpr data member
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46930 --- Comment #2 from Jason Merrill 2010-12-15 00:35:20 UTC --- Author: jason Date: Wed Dec 15 00:35:17 2010 New Revision: 167834 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=167834 Log: PR c++/46930 * decl.c (grokdeclarator): Reject uninitialized constexpr static data member. Added: trunk/gcc/testsuite/g++.dg/cpp0x/constexpr-decl.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/decl.c trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/g++.dg/cpp0x/constexpr-ex1.C trunk/gcc/testsuite/g++.dg/cpp0x/constexpr-static5.C
[Bug middle-end/46916] gcc.dg/torture/stackalign/non-local-goto-[1,2].c ICEs compiler due to r167727
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46916 --- Comment #49 from Iain Sandoe 2010-12-15 00:28:04 UTC --- (In reply to comment #48) > Uh, this is getting confusing. We are really tracking 3 problems iteracting > with each other (and prevosly hidding each other) indeed. > 1) darwin_text_section returns unlikely_text section that leads to infinite > recursion after the patch preventing darwin_function_section to partition > functions with -fno-partition-functions > > This is preferably fixed by making darwin_function_section to return only the > default section, but we do have alternative fix adding unlikely function as > predefined section. well, I think we can consider that variant withdrawn - replaced by... > We also have alternative patch here that scratch the > USE_SELECT_SECTION_FOR_FUNCTIONS hack. That one should test independently with > only problem demonstrated by 2). ... OK, at the moment I have it combined (I thought that was the suggestion @ comment 19 ;-)) > 2) -freorder-blocks-and-partition does not imply -freorder-functions. This > means that -O0 we do not actual partition, since hot and cold section is > forced > by be same by my change to function_section that triggered the PR > > This demonstrate as the partition failure and should be solved by the hunk > enabling reorder functions when -freorder-blocks-and-partition is given. > > I had typo in the original change I pasted here that it enabled > -freorder-blocks instead. Just scratch that vairant. The patch @44 has the correct variant... > 3) the fact that we produce wrong assembly with 2 instead of missing > optimization actually uncovers bigger problem that we seem to screw up when > function partition is enabled but we do not really partition the given > function. In this case we do most of the code pesimization and worse yet, we > tend to mess up EH. we get a lot of "warning: no debug symbols in executable" messages from dsymutil -- that might indicate bad debug info -- or be a latent bug in dsymutil (not clear at the moment). > This should be fixed by the patch I sent to PR but for some reason it breaks > stackalign. Do we have any idea why? I don't think it breaks stackalign on i686-darwin9. > I guess we ought to be able to solve 1) and 2) in parallel and 3) > incrementally. I have no more time today -- tomorrow I'll remove the USE_SELECT_SECTION_FOR_FUNCTIONS change. = result from c44 (modified as per 46) i686-darwin9 Running target unix/-m32 [for some reason the prune fails here... ] FAIL: g++.dg/bprob/g++-bprob-2.C compilation, -g -fprofile-use UNRESOLVED: g++.dg/bprob/g++-bprob-2.C execution,-g -fprofile-use FAIL: g++.dg/bprob/g++-bprob-2.C compilation, -O3 -g -fprofile-use UNRESOLVED: g++.dg/bprob/g++-bprob-2.C execution,-O3 -g -fprofile-use ++ warning: no debug symbols in executable (-arch i386) FAIL: g++.dg/debug/dwarf2/pubnames-1.C scan-assembler-times "main.0"[^\\n]*external name 1 FAIL: g++.dg/other/pr22003.C (test for excess errors) as per Comment #28/30: FAIL: g++.dg/pch/system-1.C -g assembly comparison FAIL: g++.dg/pch/system-1.C -O2 -g assembly comparison FAIL: g++.dg/pch/system-1.C -O2 assembly comparison FAIL: g++.dg/pch/system-2.C -g assembly comparison FAIL: g++.dg/pch/system-2.C -O2 -g assembly comparison FAIL: g++.dg/pch/system-2.C -O2 assembly comparison + PR46904 Running target unix/-m64 FAIL: g++.dg/debug/dwarf2/pubnames-1.C scan-assembler-times "main.0"[^\\n]*external name 1 FAIL: g++.dg/other/pr22003.C (test for excess errors) as per Comment #28/30 FAIL: g++.dg/pch/system-1.C -g assembly comparison FAIL: g++.dg/pch/system-1.C -O2 -g assembly comparison FAIL: g++.dg/pch/system-1.C -O2 assembly comparison FAIL: g++.dg/pch/system-2.C -g assembly comparison FAIL: g++.dg/pch/system-2.C -O2 -g assembly comparison FAIL: g++.dg/pch/system-2.C -O2 assembly comparison + PR46904
[Bug lto/46820] Undefined reference errors with LTO
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46820 --- Comment #12 from Dmitry Gorbachev 2010-12-15 00:15:24 UTC --- It's weak, alias("..."). "At present, a declaration to which weakref is attached can only be static."
[Bug tree-optimization/45791] Missed devirtualization
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45791 --- Comment #13 from Jan Hubicka 2010-12-15 00:12:54 UTC --- ... but obviously the problem still is that we don't devirtualize this early enough for inlining. The low level code should be able to do so if FRE+CCP was added as early pass or FRE was also extended to fold the OBJ_TYEP_REF calls away and added as early pass. Now when Richi fixed it, it should even be possible. However, can't this be also handled by type based code?
[Bug tree-optimization/45791] Missed devirtualization
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45791 --- Comment #12 from Jan Hubicka 2010-12-15 00:10:45 UTC --- No, this is different, since OBJ_TYPE_REF is sitting here and it imply type conversion in the way we implement it right now. There is no type mismatch in between the original address and the call argument, just the intermediate pointer is of wrong type. VRP should do the same as CCP, see the code I added into CCP.
[Bug middle-end/46949] New: ICE when weakref is used on a definition (internal compiler error: in function_and_variable_visibility, at ipa.c:904)
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46949 Summary: ICE when weakref is used on a definition (internal compiler error: in function_and_variable_visibility, at ipa.c:904) Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: trivial Priority: P3 Component: middle-end AssignedTo: unassig...@gcc.gnu.org ReportedBy: d.g.gorbac...@gmail.com static void __attribute__((weakref("bar"))) foo(void) { }
[Bug middle-end/46916] gcc.dg/torture/stackalign/non-local-goto-[1,2].c ICEs compiler due to r167727
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46916 --- Comment #48 from Jan Hubicka 2010-12-15 00:06:12 UTC --- Uh, this is getting confusing. We are really tracking 3 problems iteracting with each other (and prevosly hidding each other) 1) darwin_text_section returns unlikely_text section that leads to infinite recursion after the patch preventing darwin_function_section to partition functions with -fno-partition-functions This is preferably fixed by making darwin_function_section to return only the default section, but we do have alternative fix adding unlikely function as predefined section. We also have alternative patch here that scratch the USE_SELECT_SECTION_FOR_FUNCTIONS hack. That one should test independently with only problem demonstrated by 2). 2) -freorder-blocks-and-partition does not imply -freorder-functions. This means that -O0 we do not actual partition, since hot and cold section is forced by be same by my change to function_section that triggered the PR This demonstrate as the partition failure and should be solved by the hunk enabling reorder functions when -freorder-blocks-and-partition is given. I had typo in the original change I pasted here that it enabled -freorder-blocks instead. Just scratch that vairant. 3) the fact that we produce wrong assembly with 2 instead of missing optimization actually uncovers bigger problem that we seem to screw up when function partition is enabled but we do not really partition the given function. In this case we do most of the code pesimization and worse yet, we tend to mess up EH. This should be fixed by the patch I sent to PR but for some reason it breaks stackalign. Do we have any idea why? I guess we ought to be able to solve 1) and 2) in parallel and 3) incrementally.
[Bug middle-end/45631] devirtualization with profile feedback does not work for function pointers
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45631 --- Comment #2 from Jan Hubicka 2010-12-14 23:52:45 UTC --- I guess it is the simple algorithm we use to work out most common value. We end up with Trying transformations on stmt p_1(D) (); Indirect call value:12 match:48 all:90. The most common value profiler is implemented at: /* Tries to determine the most common value among its inputs. Checks if the value stored in COUNTERS[0] matches VALUE. If this is the case, COUNTERS[1] is incremented. If this is not the case and COUNTERS[1] is not zero, COUNTERS[1] is decremented. Otherwise COUNTERS[1] is set to one and VALUE is stored to COUNTERS[0]. This algorithm guarantees that if this function is called more than 50% of the time with one value, this value will be in COUNTERS[0] in the end. In any case, COUNTERS[2] is incremented. */ static inline void __gcov_one_value_profiler_body (gcov_type *counters, gcov_type value) { if (value == counters[0]) counters[1]++; else if (counters[1] == 0) { counters[1] = 1; counters[0] = value; } else counters[1]--; counters[2]++; } So it stores value to counters[0] and then increases counters each time it sees if. When we get to 0, we try the new value. So the match is actually number of matches minus number of times it was different. It matches 3/4, it was different 1/4 of time and we get to 1/2 and that is not enough for transformation to trigger. Finally we require if (4 * count <= 3 * all) return false; that is 4/3 > 1/2. I guess we can lower the threshold...
[Bug middle-end/46916] gcc.dg/torture/stackalign/non-local-goto-[1,2].c ICEs compiler due to r167727
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46916 --- Comment #47 from Dominique d'Humieres 2010-12-14 23:51:20 UTC --- (In reply to comment #39) > The patch I had in mind > http://gcc.gnu.org/ml/gcc-patches/2010-12/msg01129.html With this patch applied on top of revision 167812 without any of the above patches I have a lot of failures of the kind: FAIL: gcc.dg/torture/stackalign/alloca-1.c -O0 execution test
[Bug middle-end/46916] gcc.dg/torture/stackalign/non-local-goto-[1,2].c ICEs compiler due to r167727
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46916 --- Comment #46 from Iain Sandoe 2010-12-14 23:44:20 UTC --- a better prune Index: gcc/testsuite/lib/prune.exp === --- gcc/testsuite/lib/prune.exp(revision 167813) +++ gcc/testsuite/lib/prune.exp(working copy) @@ -56,6 +56,7 @@ proc prune_gcc_output { text } { regsub -all "(^|\n)\[^\n\]*ld: warning: can't add line info to anonymous symbol\[^\n\]*" $text "" text regsub -all "(^|\n)\[^\n\]*warning: DWARFDebugInfoEntry::AppendDependants\[^\n\]*AT_\[^\n\]*_bound\[^\n\]*FORM_ref4\[^\n\]*" $text "" text regsub -all "(^|\n)\[^\n\]*warning:\[^\n\]*TAG_variable: AT_location\[^\n\]*didn't have valid function low pc\[^\n\]*" $text "" text +regsub -all "(^|\n)\[^\n\]*warning:\[^\n\]*no debug symbols in executable .-arch .\[^\n8\]*86.\[^\n\]*" $text "" text #send_user "After:$text\n"
[Bug middle-end/46916] gcc.dg/torture/stackalign/non-local-goto-[1,2].c ICEs compiler due to r167727
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46916 --- Comment #45 from Iain Sandoe 2010-12-14 23:43:04 UTC --- the majority of fails are now: warning: no debug symbols in executable (-arch x) which is probably not good news .. (but possibly a dsymutil issue)...
[Bug middle-end/46916] gcc.dg/torture/stackalign/non-local-goto-[1,2].c ICEs compiler due to r167727
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46916 --- Comment #44 from Iain Sandoe 2010-12-14 23:39:34 UTC --- Created attachment 22758 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22758 merge between Honza's and Iain's patches combined patch.
[Bug tree-optimization/45791] Missed devirtualization
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45791 --- Comment #11 from Martin Jambor 2010-12-14 23:35:29 UTC --- I believe Richi's comment #14 in PR 46076 applies here as well.
[Bug lto/44966] weak aliases LTO with gold causes ICE in lto_symtab_merge_decls_1
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44966 Jan Hubicka changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #16 from Jan Hubicka 2010-12-14 23:34:47 UTC --- Fixed. Sorry for the delay. The patch turned out to be almost correct except for not seeting the alias flag.
[Bug libstdc++/45133] [c++0x] std::future will crash with NULL deref if get() is called twice
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45133 Jonathan Wakely changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED Target Milestone|--- |4.6.0 --- Comment #7 from Jonathan Wakely 2010-12-14 23:33:17 UTC --- fixed for 4.6.0 by throwing as per the new note in the latest draft
[Bug libstdc++/45133] [c++0x] std::future will crash with NULL deref if get() is called twice
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45133 --- Comment #6 from Jonathan Wakely 2010-12-14 23:27:20 UTC --- Author: redi Date: Tue Dec 14 23:27:17 2010 New Revision: 167823 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=167823 Log: 2010-12-14 Jonathan Wakely PR libstdc++/45133 * include/std/future (__basic_future::wait): Throw if not valid. (__basic_future::wait_for): Likewise. (__basic_future::wait_until): Likewise. (__basic_future::_M_get_result): Likewise. * testsuite/30_threads/future/members/45133.cc: New. * testsuite/30_threads/shared_future/members/45133.cc: New. Added: trunk/libstdc++-v3/testsuite/30_threads/future/members/45133.cc trunk/libstdc++-v3/testsuite/30_threads/shared_future/members/45133.cc Modified: trunk/libstdc++-v3/ChangeLog trunk/libstdc++-v3/include/std/future
[Bug lto/44463] whopr does not work with weak functions
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44463 --- Comment #6 from Jan Hubicka 2010-12-14 23:24:20 UTC --- Note that the fix solves the problem just partly. We now have duplicate definition of the symbol with -fno-use-linker-plugin -flto-partition=1to1 This is because the problem in can_prevail predicate mentioned in the mail. For this reason I left out the testcase from final commit (didn't noticed the problem earlier since I tested it with plugin enabled only)
[Bug lto/46940] asm aliases with linker plugin segfaults
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46940 Jan Hubicka changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #3 from Jan Hubicka 2010-12-14 23:23:11 UTC --- Fixed.
[Bug lto/44463] whopr does not work with weak functions
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44463 --- Comment #5 from Jan Hubicka 2010-12-14 23:22:27 UTC --- Author: hubicka Date: Tue Dec 14 23:22:23 2010 New Revision: 167822 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=167822 Log: PR lto/46940 PR lto/44463 * lto-symtab.c (lto_symtab_merge_cgraph_nodes_1): Construct nodes for aliases when they are used. * gcc.dg/lto/pr46940_0.c: New testcase. * gcc.dg/lto/pr46940_1.c: New testcase. Added: trunk/gcc/testsuite/gcc.dg/lto/pr46940_0.c trunk/gcc/testsuite/gcc.dg/lto/pr46940_1.c Modified: trunk/gcc/ChangeLog trunk/gcc/lto-symtab.c trunk/gcc/testsuite/ChangeLog
[Bug lto/46940] asm aliases with linker plugin segfaults
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46940 --- Comment #2 from Jan Hubicka 2010-12-14 23:22:27 UTC --- Author: hubicka Date: Tue Dec 14 23:22:23 2010 New Revision: 167822 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=167822 Log: PR lto/46940 PR lto/44463 * lto-symtab.c (lto_symtab_merge_cgraph_nodes_1): Construct nodes for aliases when they are used. * gcc.dg/lto/pr46940_0.c: New testcase. * gcc.dg/lto/pr46940_1.c: New testcase. Added: trunk/gcc/testsuite/gcc.dg/lto/pr46940_0.c trunk/gcc/testsuite/gcc.dg/lto/pr46940_1.c Modified: trunk/gcc/ChangeLog trunk/gcc/lto-symtab.c trunk/gcc/testsuite/ChangeLog
[Bug middle-end/46916] gcc.dg/torture/stackalign/non-local-goto-[1,2].c ICEs compiler due to r167727
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46916 --- Comment #43 from Jack Howarth 2010-12-14 23:21:35 UTC --- (In reply to comment #39) > The patch I had in mind > http://gcc.gnu.org/ml/gcc-patches/2010-12/msg01129.html > > The hunk > Index: gcc/opts.c > === > --- gcc/opts.c(revision 167793) > +++ gcc/opts.c(working copy) > @@ -723,6 +723,9 @@ finish_options (struct gcc_options *opts, struct g >opts->x_flag_reorder_blocks = 1; > } > > + if (opts->x_flag_reorder_blocks_and_partition) > +opts->x_flag_reorder_blocks = 1; > + >/* If user requested unwind info, then turn off the partitioning > optimization. */ > > should be > Index: gcc/opts.c > === > --- gcc/opts.c(revision 167793) > +++ gcc/opts.c(working copy) > @@ -723,6 +723,9 @@ finish_options (struct gcc_options *opts, struct g >opts->x_flag_reorder_blocks = 1; > } > > + if (opts->x_flag_reorder_blocks_and_partition) > +opts->x_flag_reorder_functions = 1; > + >/* If user requested unwind info, then turn off the partitioning > optimization. */ > > sorry for typo. The cited patch doesn't have any such change in that particular context. Was this entire hunk missing from the posted patch?
[Bug tree-optimization/45791] Missed devirtualization
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45791 --- Comment #10 from Jan Hubicka 2010-12-14 23:17:13 UTC --- Eh, wanted to paste: D.2236_10 = (int (*__vtbl_ptr_type) (void)) f; OBJ_TYPE_REF(D.2236_10;D.2215_3->2) (D.2215_3); I told ccp should IMO optimize it, but doesn't. I guess it is because VRP1 works out the constant but then it doesn't know about OBJ_TYPE_REF folding.
[Bug tree-optimization/45791] Missed devirtualization
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45791 --- Comment #9 from Jan Hubicka 2010-12-14 23:15:16 UTC --- OK, main() code seems to optimize out that is an imrovement. Is it optimized away with your patch pre-IPA too? Derived() is also devirtualizable: Derived::Derived() (struct Derived * const this) { int (*__vtbl_ptr_type) (void) * D.2237; int (*__vtbl_ptr_type) (void) D.2236; struct Base * D.2215; : D.2215_2 = &this_1(D)->D.2115; D.2215_2->_vptr.Base = &_ZTV4Base[2]; this_1(D)->D.2115._vptr.Base = &_ZTV7Derived[2]; D.2215_3 = &this_1(D)->D.2115; D.2237_9 = D.2215_3->_vptr.Base; D.2236_10 = MEM[(int (*__vtbl_ptr_type) (void) *)D.2237_9 + 16B]; OBJ_TYPE_REF(D.2236_10;D.2215_3->2) (D.2215_3); We fail to devirtualize pre-IPA. After IPA we compile into: : MEM[(struct Base *)this_1(D)]._vptr.Base = &_ZTV4Base[2]; this_1(D)->D.2115._vptr.Base = &_ZTV7Derived[2]; D.2215_3 = &this_1(D)->D.2115; D.2236_10 = (int (*__vtbl_ptr_type) (void)) f; a type mismatch?
[Bug lto/46948] New: [4.6 Regression] Undefined reference errors, LTO, and visibility
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46948 Summary: [4.6 Regression] Undefined reference errors, LTO, and visibility Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: lto AssignedTo: unassig...@gcc.gnu.org ReportedBy: d.g.gorbac...@gmail.com Created attachment 22757 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22757 Testcase
[Bug middle-end/46916] gcc.dg/torture/stackalign/non-local-goto-[1,2].c ICEs compiler due to r167727
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46916 --- Comment #42 from Dominique d'Humieres 2010-12-14 22:55:06 UTC --- I have reverted any of the above patches and updated to revision 167812. First, I now see the failures in comment #28 (they are probably a different PR). Second, any of the patches caused the failures in comment #12 by enabling the tests to be run. Without patch, I get [macbook] build_w/gcc% make -k check-g++ RUNTESTFLAGS="tree-prof.exp=partition2.C --target_board=unix'{-m32/-g,-m64/-g}'" ... === g++ tests === Schedule of variations: unix/-m32/-g unix/-m64/-g Running target unix/-m32/-g Using /sw64/share/dejagnu/baseboards/unix.exp as board description file for target. Using /sw64/share/dejagnu/config/unix.exp as generic interface file for target. Using /opt/gcc/work/gcc/testsuite/config/default.exp as tool-and-target-specific interface file. Running /opt/gcc/work/gcc/testsuite/g++.dg/tree-prof/tree-prof.exp ... === g++ Summary for unix/-m32/-g === # of unsupported tests1 Running target unix/-m64/-g Using /sw64/share/dejagnu/baseboards/unix.exp as board description file for target. Using /sw64/share/dejagnu/config/unix.exp as generic interface file for target. Using /opt/gcc/work/gcc/testsuite/config/default.exp as tool-and-target-specific interface file. Running /opt/gcc/work/gcc/testsuite/g++.dg/tree-prof/tree-prof.exp ... === g++ Summary for unix/-m64/-g === # of unsupported tests1 === g++ Summary === # of unsupported tests2 /opt/gcc/build_w/gcc/testsuite/g++/../../g++ version 4.6.0 20101214 (experimental) [trunk revision 167812p3] (GCC) I'll apply the Honza's patch and regtest during the night.
[Bug middle-end/46916] gcc.dg/torture/stackalign/non-local-goto-[1,2].c ICEs compiler due to r167727
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46916 --- Comment #41 from Jan Hubicka 2010-12-14 22:46:09 UTC --- > well, unless some interaction from the typo.. (possible) .. AFAICT most of the > fallout is multiple definitions of .eh symbols... Actually forcing hot&cold sections to coincide might result in multiple definition of eh symbol. The typo should fix it for -freorder-blocks-and-partition compilations and the patch I posed to ML might solve other cases by disabling the partitioning logic when we don't really partition the function (that was point of the patch) Honza
[Bug c++/46947] Segmentation Fault compiling templates with function pointers
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46947 Jonathan Wakely changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||FIXED --- Comment #1 from Jonathan Wakely 2010-12-14 22:18:38 UTC --- GCC 4.2 is no longer maintained, you need to report it to Apple or use a more recent, official FSF release. 4.4.5 gives main.cpp: In function ‘int main(int, char* const*)’: main.cpp:17: sorry, unimplemented: mangling template_id_expr and 4.5.2 compiles it successfully
[Bug libstdc++/46910] std::shared_ptr requires public destructor for a class with friend deleter
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46910 Jonathan Wakely changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED Target Milestone|--- |4.6.0 --- Comment #6 from Jonathan Wakely 2010-12-14 22:14:15 UTC --- fixed for 4.6.0
[Bug libstdc++/46910] std::shared_ptr requires public destructor for a class with friend deleter
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46910 --- Comment #5 from Jonathan Wakely 2010-12-14 22:13:31 UTC --- Author: redi Date: Tue Dec 14 22:13:26 2010 New Revision: 167819 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=167819 Log: 2010-12-14 Jonathan Wakely PR libstdc++/46910 * include/bits/shared_ptr_base.h (_Sp_counted_deleter): Do not derive from _Sp_counted_ptr. * testsuite/20_util/shared_ptr/cons/46910.cc: New. * testsuite/20_util/shared_ptr/cons/43820.cc: Adjust. * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust. Added: trunk/libstdc++-v3/testsuite/20_util/shared_ptr/cons/46910.cc Modified: trunk/libstdc++-v3/ChangeLog trunk/libstdc++-v3/include/bits/shared_ptr_base.h trunk/libstdc++-v3/testsuite/20_util/shared_ptr/cons/43820.cc trunk/libstdc++-v3/testsuite/20_util/weak_ptr/comparison/cmp_neg.cc
[Bug c++/46947] New: Segmentation Fault compiling templates with function pointers
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46947 Summary: Segmentation Fault compiling templates with function pointers Product: gcc Version: 4.2.1 Status: UNCONFIRMED Severity: major Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: cac...@gmail.com Created attachment 22756 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22756 Files needed to reproduce and report the bug. When the source in the attached archive is compiled with: g++ -save-temps main.cpp the output is: main.cpp: In member function ‘FTemplate<_Binary > FTemplate::operator|(const FTemplate&) const [with int (* FuncB)() = _Nullary, int (* FuncA)() = _Nullary]’: main.cpp:11: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See http://developer.apple.com/bugreporter> for instructions. Admittedly this problem might be Apple specific, but it is probably worth checking, as I understand it is the same code base and I'm not sure how forthcoming Apple is with bugs. g++ -v: Using built-in specs. Target: i686-apple-darwin10 Configured with: /var/tmp/gcc/gcc-5664~105/src/configure --disable-checking --enable-werror --prefix=/usr --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib --build=i686-apple-darwin10 --program-prefix=i686-apple-darwin10---host=x86_64-apple-darwin10 --target=i686-apple-darwin10 --with-gxx-include-dir=/include/c++/4.2.1 Thread model: posix gcc version 4.2.1 (Apple Inc. build 5664)
[Bug testsuite/46912] [4.6 Regression] Test failures for g++.dg/plugin/*plugin*.C on powerpc-apple-darwin9
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46912 Iain Sandoe changed: What|Removed |Added CC||mrs at gcc dot gnu.org --- Comment #2 from Iain Sandoe 2010-12-14 21:45:13 UTC --- it's all fall-out from the different assumed sizes of Bool (see also 46902). I think (subject to Mike's agreement) that, since Darwin's does not set bool to int for GCC > 3 ... that we should default to one byte bools on PPC darwin (there is no effect on x86). Index: gcc/config/darwin.opt === --- gcc/config/darwin.opt (revision 167812) +++ gcc/config/darwin.opt (working copy) @@ -166,7 +166,7 @@ Target Joined Report Var(darwin_macosx_version_min The earliest MacOS X version on which this program will run mone-byte-bool -Target RejectNegative Report Var(darwin_one_byte_bool) +Target RejectNegative Report Var(darwin_one_byte_bool) Init(1) Set sizeof(bool) to 1 fapple-kext
[Bug middle-end/46916] gcc.dg/torture/stackalign/non-local-goto-[1,2].c ICEs compiler due to r167727
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46916 --- Comment #40 from Iain Sandoe 2010-12-14 21:37:53 UTC --- (In reply to comment #38) > I posted the fixes, but it should not affect > -fno-reorder-blocks-and-partition. > Any idea what is going wrong here? well, unless some interaction from the typo.. (possible) .. AFAICT most of the fallout is multiple definitions of .eh symbols... I was just looking in the debugger .. ... wondering if I can intercept the cold ones and give them different names. ;-)
[Bug middle-end/46916] gcc.dg/torture/stackalign/non-local-goto-[1,2].c ICEs compiler due to r167727
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46916 --- Comment #39 from Jan Hubicka 2010-12-14 21:32:15 UTC --- The patch I had in mind http://gcc.gnu.org/ml/gcc-patches/2010-12/msg01129.html The hunk Index: gcc/opts.c === --- gcc/opts.c(revision 167793) +++ gcc/opts.c(working copy) @@ -723,6 +723,9 @@ finish_options (struct gcc_options *opts, struct g opts->x_flag_reorder_blocks = 1; } + if (opts->x_flag_reorder_blocks_and_partition) +opts->x_flag_reorder_blocks = 1; + /* If user requested unwind info, then turn off the partitioning optimization. */ should be Index: gcc/opts.c === --- gcc/opts.c(revision 167793) +++ gcc/opts.c(working copy) @@ -723,6 +723,9 @@ finish_options (struct gcc_options *opts, struct g opts->x_flag_reorder_blocks = 1; } + if (opts->x_flag_reorder_blocks_and_partition) +opts->x_flag_reorder_functions = 1; + /* If user requested unwind info, then turn off the partitioning optimization. */ sorry for typo.
[Bug middle-end/46916] gcc.dg/torture/stackalign/non-local-goto-[1,2].c ICEs compiler due to r167727
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46916 --- Comment #38 from Jan Hubicka 2010-12-14 21:28:12 UTC --- I posted the fixes, but it should not affect -fno-reorder-blocks-and-partition. Any idea what is going wrong here?
[Bug fortran/46945] [4.6 Regression] gfortran.dg/unpack_zerosize_1.f90 FAILs with -ftree-vrp -fno-tree-ccp -fno-tree-fre
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46945 Tobias Burnus changed: What|Removed |Added CC||burnus at gcc dot gnu.org, ||jb at gcc dot gnu.org Target Milestone|--- |4.6.0
[Bug c/46946] New: contradiction in docs for -Ofast and -ffast-math
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46946 Summary: contradiction in docs for -Ofast and -ffast-math Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassig...@gcc.gnu.org ReportedBy: r...@gcc.gnu.org -ffast-math and its constituent options still claim "This option is not turned on by any -O option" but they're turned on by -Ofast
[Bug c++/45330] Suggest likely nested-name-specifiers for undeclared identifiers.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45330 --- Comment #3 from Nathan Froyd 2010-12-14 20:31:30 UTC --- Author: froydnj Date: Tue Dec 14 20:31:22 2010 New Revision: 167814 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=167814 Log: gcc/cp/ PR c++/45330 * cp-tree.h (suggest_alternatives_for): Add location_t parameter. * name-lookup.c (suggest_alternatives_for): Likewise. Adjust. * lex.c (unqualified_name_lookup_error): Adjust call to it. * semantics.c (qualified_name_lookup_error): Move to... * error.c (qualified_name_lookup_error): ...here. Call. suggest_alternatives_for. gcc/testsuite/ PR c++/45330 * g++.dg/lookup/suggestions1.C: New test. Added: trunk/gcc/testsuite/g++.dg/lookup/suggestions1.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/cp-tree.h trunk/gcc/cp/error.c trunk/gcc/cp/lex.c trunk/gcc/cp/name-lookup.c trunk/gcc/cp/semantics.c trunk/gcc/testsuite/ChangeLog
[Bug fortran/46520] [4.6 Regression] libquadmath: fails at link test on bare irons
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46520 Tobias Burnus changed: What|Removed |Added Summary|[4.6 Regression]|[4.6 Regression] |libquadmath: Build also |libquadmath: fails at link |with --enable-languages=c; |test on bare irons |fails with some cross | |targets | --- Comment #6 from Tobias Burnus 2010-12-14 20:19:20 UTC --- Current result for picochip-unknown-none: checking how to run the C preprocessor... [...] checking for sqrtl in -lm... configure: error: Link tests are not allowed after GCC_NO_EXECUTABLES. make[2]: *** [configure-target-libquadmath] Error 1 Draft patch - might be insufficient: --- a/libquadmath/configure.ac +++ b/libquadmath/configure.ac @@ -109,8 +109,10 @@ esac AC_SUBST(toolexecdir) AC_SUBST(toolexeclibdir) -AC_CHECK_LIB([m],[sqrtl],[AC_DEFINE([HAVE_SQRTL],[1],[libm includes sqrtl])]) -AC_CHECK_LIB([m],[cbrtl],[AC_DEFINE([HAVE_CBRTL],[1],[libm includes cbrtl])]) +if test x$gcc_no_link != xyes; then + AC_CHECK_LIB([m],[sqrtl],[AC_DEFINE([HAVE_SQRTL],[1],[libm includes sqrtl])]) + AC_CHECK_LIB([m],[cbrtl],[AC_DEFINE([HAVE_CBRTL],[1],[libm includes cbrtl])]) +fi # Check for symbol versioning (copied from libssp). AC_MSG_CHECKING([whether symbol versioning is supported])
[Bug middle-end/46916] gcc.dg/torture/stackalign/non-local-goto-[1,2].c ICEs compiler due to r167727
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46916 Iain Sandoe changed: What|Removed |Added Target|x86_64-apple-darwin10 |*-apple-darwin{9,10} Host|x86_64-apple-darwin10 |*-apple-darwin{9,10} Build|x86_64-apple-darwin10 |*-apple-darwin{9,10} --- Comment #37 from Iain Sandoe 2010-12-14 20:17:41 UTC --- (In reply to comment #36) > > fails in 28, 29 and 31 are still present. > > On which platform do you see the failures in 28? I don't see them on > x86_64-apple-darwin10.5.0 when doing a full test of g++. on i686-darwin9 @m32 and m64. (adjusting the target/host/build triplets - the overall bug also affects powerpc) FAIL: g++.dg/other/pr22003.C (test for excess errors) FAIL: g++.dg/pch/system-1.C -g assembly comparison FAIL: g++.dg/pch/system-1.C -O2 -g assembly comparison FAIL: g++.dg/pch/system-1.C -O2 assembly comparison FAIL: g++.dg/pch/system-2.C -g assembly comparison FAIL: g++.dg/pch/system-2.C -O2 -g assembly comparison FAIL: g++.dg/pch/system-2.C -O2 assembly comparison + partition{1,2}.C * -fprofile-use
[Bug target/46891] Can't build libquadmath for i386-elf target
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46891 Ralf Wildenhues changed: What|Removed |Added Status|UNCONFIRMED |WAITING Last reconfirmed||2010.12.14 20:08:17 Ever Confirmed|0 |1 Severity|blocker |normal --- Comment #3 from Ralf Wildenhues 2010-12-14 20:08:17 UTC --- Marking as waiting, reducing severity as long as the PR lacks any details.
[Bug middle-end/46916] gcc.dg/torture/stackalign/non-local-goto-[1,2].c ICEs compiler due to r167727
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46916 --- Comment #36 from Dominique d'Humieres 2010-12-14 20:05:43 UTC --- > fails in 28, 29 and 31 are still present. On which platform do you see the failures in 28? I don't see them on x86_64-apple-darwin10.5.0 when doing a full test of g++.
[Bug middle-end/46916] gcc.dg/torture/stackalign/non-local-goto-[1,2].c ICEs compiler due to r167727
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46916 --- Comment #35 from Iain Sandoe 2010-12-14 19:53:34 UTC --- (In reply to comment #34) > If I did not make any mistake, the updated patch in comment #32 does not fix > the failures in comments #29 and #31. no, you are correct - I think we now have to wait for Honza's "additional fixes" as per comment #33 fails in 28, 29 and 31 are still present.
[Bug target/31403] wrong branch instructions generated with -m2a on sh-elf
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31403 --- Comment #8 from Stephen.Bartlett at opentv dot com 2010-12-14 19:48:20 UTC --- I am getting the same error using gcc 4.4.5 20101112 (Red Hat 4.4.5-2), with Fedora 13 on an 64 bit machine/OS. Are you aware of a solution, or any limitations using a 64-bit OS ? Thanks
[Bug fortran/46945] New: [4.6 Regression] gfortran.dg/unpack_zerosize_1.f90 FAILs with -ftree-vrp -fno-tree-ccp -fno-tree-fre
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46945 Summary: [4.6 Regression] gfortran.dg/unpack_zerosize_1.f90 FAILs with -ftree-vrp -fno-tree-ccp -fno-tree-fre Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran AssignedTo: unassig...@gcc.gnu.org ReportedBy: zso...@seznam.cz Created attachment 22755 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22755 reduced testcase Output: $ gfortran -O -ftree-vrp -fno-tree-ccp -fno-tree-fre testcase.f90 $ ./a.out Fortran runtime error: Integer overflow when calculating the amount of memory to allocate In the testcase.f90.067t.vrp1 dump, there is unconditional call to _gfortran_runtime_error(). Maybe will be fixed by http://gcc.gnu.org/ml/gcc-patches/2010-12/msg01026.html Tested revisions: r167770 - fail r167643 - fail r165699 - OK 4.5 r166509 - OK
[Bug lto/46944] New: gcc should accept -fuse-linker-plugin only if linker handles -plugin
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46944 Summary: gcc should accept -fuse-linker-plugin only if linker handles -plugin Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: lto AssignedTo: unassig...@gcc.gnu.org ReportedBy: r...@gcc.gnu.org CC: da...@gcc.gnu.org, ccout...@google.com Host: *-*-solaris2.* Target: *-*-solaris2.* Build: *-*-solaris2.* While the new gcc.dg/pr43157.c testcase didn't contain /* { dg-require-linker-plugin "" } */ it failed on Solaris 11/x86 using the Sun linker like this, but only with -m64: FAIL: gcc.dg/pr43157.c (test for excess errors) Excess errors: ld: fatal: file /usr/lib/amd64/crt1.o: wrong ELF class: ELFCLASS64 ld: fatal: file processing errors. No output written to pr43157.exe The problem is that ld is ultimately invoked as /usr/ccs/bin/ld -plugin liblto_plugin.so ... -o pr43157.exe /usr/lib/amd64/crt1.o ... Since the compiler (and thus liblto_plugin.so) are 32-bit objects, crt1.o and all other input objects are 64-bit, yielding the error message above. While Sun ld doesn't understand -plugin proper, it does accept -p auditlib, as described in the manpage: -p auditlib Identifies an audit library, auditlib. This audit library is used to audit the object being created at runtime. A shared object identified as requiring audit- ing with the -p option, has this requirement inherited by any object that specifies the shared object as a dependency. See the -P option. See Runtime Linker Audit- ing Interface in Linker and Libraries Guide. So, the invocation above is parsed as -p lugin liblto_plugin.so, i.e. try to load an auditlib named lugin and pass liblto_plugin.so as regular input file. I think it's obvious that the gcc configury should verify that the linker used really understands -plugin and not only happens to have some other option that something completely different. Only if this has been verified should -plugin be passed to the linker when -fuse-linker-plugin is given, otherwise the option should be rejected with a proper error message.
[Bug tree-optimization/45552] [graphite] ICE in sese_loop_depth, at sese.h:172
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45552 --- Comment #4 from Sebastian Pop 2010-12-14 19:18:56 UTC --- Reduced testcase: typedef struct { double z; } Vector; typedef struct { float *vertex; float *normal; } VertexArray; typedef struct { Vector *vertex; int num_vertex; } ObjectSmooth; typedef struct { int num_cells; } State; static void *array_from_ObjectSmooth( ObjectSmooth *obj ) { int i, j; VertexArray *array = (VertexArray *) malloc( sizeof( VertexArray ) ); array->vertex = (float *) malloc( 3*sizeof(float)*obj->num_vertex ); array->normal = (float *) malloc( 3*sizeof(float)*obj->num_vertex ); for (i=0, j=0; inum_vertex; ++i) { array->normal[j++] = 9; array->vertex[j] = obj->vertex[i].z; array->normal[j++] = 1; } } static void draw_cell( void ) { glCallList( array_from_ObjectSmooth( (ObjectSmooth *) malloc(10) )); } static int render( State *st) { int b; for (b=0; bnum_cells; ++b) { draw_cell(); draw_cell(); } } reshape_glcells( int width, int height ) { render( 0 ); }
[Bug middle-end/46916] gcc.dg/torture/stackalign/non-local-goto-[1,2].c ICEs compiler due to r167727
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46916 --- Comment #34 from Dominique d'Humieres 2010-12-14 19:00:43 UTC --- If I did not make any mistake, the updated patch in comment #32 does not fix the failures in comments #29 and #31.
[Bug libstdc++/44952] #include implies global constructor.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44952 Cary Coutant changed: What|Removed |Added CC||ccoutant at gcc dot gnu.org --- Comment #15 from Cary Coutant 2010-12-14 18:50:11 UTC --- (In reply to comment #13) > So reopening for this enhancement... > > Another alternative would be some .init.first array or something similar which > would contain pointers to functions to be run as early constructors and linker > would remove duplicates in it and put it at the beginning of .init_array > section. For ELF targets, this is what DT_PREINIT_ARRAY is for. http://www.sco.com/developers/gabi/latest/ch5.dynamic.html#init_fini -cary
[Bug fortran/46849] [OOP] MODULE PROCEDURE resolution does not work in BLOCK or SELECT TYPE
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46849 --- Comment #7 from janus at gcc dot gnu.org 2010-12-14 18:30:48 UTC --- (In reply to comment #6) > I agree that this is better, though it still causes some regressions. I will > now test the following variant: > > Index: gcc/fortran/resolve.c > === > --- gcc/fortran/resolve.c (revision 167790) > +++ gcc/fortran/resolve.c (working copy) > @@ -11784,7 +11784,7 @@ resolve_symbol (gfc_symbol *sym) >for (ns = gfc_current_ns->parent; ns; ns = ns->parent) > { > symtree = gfc_find_symtree (ns->sym_root, sym->name); > - if (symtree && symtree->n.sym->generic) > + if (symtree && symtree->n.sym->attr.flavor == FL_PROCEDURE) > { > this_symtree = gfc_find_symtree (gfc_current_ns->sym_root, >sym->name); Unfortunately this also triggers a few regressions, but the following regtests cleanly: Index: gcc/fortran/resolve.c === --- gcc/fortran/resolve.c (revision 167790) +++ gcc/fortran/resolve.c (working copy) @@ -11784,7 +11784,9 @@ resolve_symbol (gfc_symbol *sym) for (ns = gfc_current_ns->parent; ns; ns = ns->parent) { symtree = gfc_find_symtree (ns->sym_root, sym->name); - if (symtree && symtree->n.sym->generic) + if (symtree && (symtree->n.sym->generic || + (symtree->n.sym->attr.flavor == FL_PROCEDURE + && sym->ns->construct_entities))) { this_symtree = gfc_find_symtree (gfc_current_ns->sym_root, sym->name);
[Bug tree-optimization/45791] Missed devirtualization
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45791 Martin Jambor changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2010.12.14 17:45:52 Ever Confirmed|0 |1 --- Comment #8 from Martin Jambor 2010-12-14 17:45:52 UTC --- I've just confirmed that main of the testcase from the initial bug description is optimized to nothing even by just the early optimizers on trunk. My dynamic-type change detection patches postpone that a little bit, unfortunately (and inevitably) but the final result is the same. I believe we have testcases already for this. As far as the testcase from comment #5 is concerned, that is quite another matter because the object is dynamically allocated there. If the constructor is inlined, we may do this with improved folding of O_T_R according to its first parameter. If it is not, we would need to be able to track the object interprocedurally to verify nothing bad happens to it (like a call to a destructor followed by a call to placement new). And of course we would have to solve the "operator new is not malloc" problem.
[Bug ada/46943] New: Unnecessary ZERO_EXTEND
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46943 Summary: Unnecessary ZERO_EXTEND Product: gcc Version: 4.6.0 Status: UNCONFIRMED Keywords: missed-optimization Severity: normal Priority: P3 Component: ada AssignedTo: unassig...@gcc.gnu.org ReportedBy: ja...@gcc.gnu.org Target: x86_64-linux In http://blog.regehr.org/archives/320 Example 4 unsigned long long v; unsigned short foo (signed char x, unsigned short y) { v = (unsigned long long) y; return (unsigned short) ((int) y / 3); } we emit a redundant zero-extension: movzwl %si, %eax movq%rax, v(%rip) movzwl %si, %eax imull $43691, %eax, %eax shrl$17, %eax ret The reason why the second movzwl %si, %eax wasn't CSEd with the first one is because the first one is (set (reg:DI reg1) (zero_extend:DI (reg:HI reg2)) while the second one is (set (reg:SI reg3) (zero_extend:SI (reg:HI reg2)) Wonder if we can't teach CSE to optimize it (say that reg3 is actually (subreg:SI (reg:DI reg1) 0), or if e.g. one of the zee/see passes (implicit-zee e.g.) couldn't handle such cases. Combiner can't do anything here, as there is no data dependency, so try_combine won't see them together.
[Bug middle-end/46916] gcc.dg/torture/stackalign/non-local-goto-[1,2].c ICEs compiler due to r167727
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46916 --- Comment #33 from Jan Hubicka 2010-12-14 17:32:16 UTC --- > minor update (this removes a test for reorder & partition + exceptions that is > carried out too early) This seem sane to me. I've also posted more fixed to function partitioning that should handle named functions and other side cases. Thanks for looking into this, Honza
[Bug target/46942] x86_64 parameter passing unnecessary sign/zero extends
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46942 --- Comment #2 from joseph at codesourcery dot com 2010-12-14 17:26:11 UTC --- If the conclusion is that the callee can rely on the caller having done the extension then you need to watch out for security issues in the kernel syscall ABI when building with a compiler that generates code relying on this. http://lkml.org/lkml/2007/6/4/376 http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-0029 If there were target-specific aspects to the fix to that security issue, they may not have included x86_64 changes.
[Bug tree-optimization/45552] [graphite] ICE in sese_loop_depth, at sese.h:172
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45552 --- Comment #3 from Sebastian Pop 2010-12-14 17:24:39 UTC --- I can see a different error than what reported: glcells.c:846:12: internal compiler error: in chrec_component_in_loop_num, at tree-chrec.c:758 I'm reducing the testcase using delta.
[Bug tree-optimization/45552] [graphite] ICE in sese_loop_depth, at sese.h:172
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45552 Sebastian Pop changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed||2010.12.14 17:17:49 AssignedTo|unassigned at gcc dot |spop at gcc dot gnu.org |gnu.org | Ever Confirmed|0 |1 --- Comment #2 from Sebastian Pop 2010-12-14 17:17:49 UTC --- Mine. I can see this ICE on the 4.5 branch. On trunk this has been fixed.
[Bug middle-end/46916] gcc.dg/torture/stackalign/non-local-goto-[1,2].c ICEs compiler due to r167727
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46916 --- Comment #32 from Iain Sandoe 2010-12-14 17:16:39 UTC --- minor update (this removes a test for reorder & partition + exceptions that is carried out too early) Tests for reorder + exceptions and reorder + unwind are carried out in opts.c now. Index: gcc/opts.c === --- gcc/opts.c(revision 167793) +++ gcc/opts.c(working copy) @@ -723,6 +723,9 @@ finish_options (struct gcc_options *opts, struct g opts->x_flag_reorder_blocks = 1; } + if (opts->x_flag_reorder_blocks_and_partition) +opts->x_flag_reorder_blocks = 1; + /* If user requested unwind info, then turn off the partitioning optimization. */ Index: gcc/config/darwin.c === --- gcc/config/darwin.c(revision 167793) +++ gcc/config/darwin.c(working copy) @@ -1145,19 +1145,6 @@ darwin_mark_decl_preserved (const char *name) } static section * -darwin_text_section (int reloc, int weak) -{ - if (reloc) -return (weak -? darwin_sections[text_unlikely_coal_section] -: unlikely_text_section ()); - else -return (weak -? darwin_sections[text_coal_section] -: text_section); -} - -static section * darwin_rodata_section (int weak, bool zsize) { return (weak @@ -1267,17 +1254,7 @@ machopic_select_section (tree decl, switch (categorize_decl_for_section (decl, reloc)) { case SECCAT_TEXT: - { -struct cgraph_node *node; -if (decl && TREE_CODE (decl) == FUNCTION_DECL -&& (node = cgraph_get_node (decl)) != NULL) - base_section = darwin_function_section (decl, - node->frequency, - node->only_called_at_startup, - node->only_called_at_exit); -if (!base_section) - base_section = darwin_text_section (reloc, weak); - } + gcc_unreachable (); break; case SECCAT_RODATA: @@ -2559,17 +2536,6 @@ darwin_override_options (void) if (!global_options_set.x_dwarf_strict) dwarf_strict = 1; - /* Disable -freorder-blocks-and-partition for darwin_emit_unwind_label. */ - if (flag_reorder_blocks_and_partition - && (targetm.asm_out.emit_unwind_label == darwin_emit_unwind_label)) -{ - inform (input_location, - "-freorder-blocks-and-partition does not work with exceptions " - "on this architecture"); - flag_reorder_blocks_and_partition = 0; - flag_reorder_blocks = 1; -} - if (flag_mkernel || flag_apple_kext) { /* -mkernel implies -fapple-kext for C++ */ @@ -2969,7 +2935,10 @@ darwin_function_section (tree decl, enum node_freq bool startup, bool exit) { if (!flag_reorder_functions) -return NULL; +return (DECL_WEAK (decl) +? darwin_sections[text_coal_section] +: text_section); + /* Startup code should go to startup subsection unless it is unlikely executed (this happens especially with function splitting where we can split away unnecesary parts of static constructors. */ @@ -2994,7 +2963,9 @@ darwin_function_section (tree decl, enum node_freq return get_named_text_section (decl, "__TEXT,__hot,regular,pure_instructions", "_hot"); default: -return NULL; +return (DECL_WEAK (decl) +? darwin_sections[text_coal_section] +: text_section); } } Index: gcc/config/darwin.h === --- gcc/config/darwin.h(revision 167793) +++ gcc/config/darwin.h(working copy) @@ -664,7 +664,7 @@ extern GTY(()) section * darwin_sections[NUM_DARWI #undefTARGET_ASM_SELECT_SECTION #define TARGET_ASM_SELECT_SECTION machopic_select_section -#define USE_SELECT_SECTION_FOR_FUNCTIONS + #undefTARGET_ASM_FUNCTION_SECTION #define TARGET_ASM_FUNCTION_SECTION darwin_function_section
[Bug fortran/46937] [4.6 Regression] gfortran.dg/pointer_intent_1.f90 FAILs with -fno-inline
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46937 Tobias Burnus changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED --- Comment #3 from Tobias Burnus 2010-12-14 17:13:17 UTC --- FIXED on the trunk (4.6). Thanks again for the bug report!
[Bug target/46942] x86_64 parameter passing unnecessary sign/zero extends
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46942 --- Comment #1 from Jakub Jelinek 2010-12-14 17:13:19 UTC --- __attribute__((noinline, noclone)) unsigned long f1 (unsigned int a, int b, unsigned short c, short d, unsigned char e, signed char f) { return (unsigned long) a + b + c + d + e + f; } unsigned long l; unsigned long f2 (void) { return f1 (l + 41, l + 41, l + 41, l + 41, l + 41, l + 41) + 1; } unsigned long f3 (unsigned int a, int b, unsigned short c, short d, unsigned char e, signed char f) { return f1 (a, b, c, d, e, f); } unsigned long f4 (int a, unsigned int b, short c, unsigned short d, signed char e, unsigned char f) { return f1 (a, b, c, d, e, f); } at -O2 shows in f4 that we can't trust that the sign/zero extension is done on the caller side, at least we can't trust that it is sign/zero extended into 64-bits.
[Bug c++/45544] ICE: in sese_adjust_liveout_phis, at sese.c:633
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45544 Sebastian Pop changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||FIXED --- Comment #5 from Sebastian Pop 2010-12-14 17:12:02 UTC --- Fixed. Both trunk and the 4.5 branch are not ICE-ing on this testcase.
[Bug middle-end/46916] gcc.dg/torture/stackalign/non-local-goto-[1,2].c ICEs compiler due to r167727
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46916 --- Comment #31 from Jack Howarth 2010-12-14 17:09:47 UTC --- With the patch from comment 21 applied on x86_64-apple-darwin10, I am seeing... FAIL: gcc.dg/darwin-weakimport-3.c scan-assembler-not coalesced FAIL: gcc.dg/pr25376.c scan-assembler my_named_section
[Bug fortran/46937] [4.6 Regression] gfortran.dg/pointer_intent_1.f90 FAILs with -fno-inline
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46937 --- Comment #2 from Tobias Burnus 2010-12-14 17:09:50 UTC --- Author: burnus Date: Tue Dec 14 17:09:33 2010 New Revision: 167806 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=167806 Log: 2010-12-14 Tobias Burnus PR fortran/46937 * trans-types.c (create_fn_spec): "."-annotate derived types with (proc-)pointer components. 2010-12-14 Tobias Burnus PR fortran/46937 * gfortran.dg/pointer_intent_4.f90: New. Added: trunk/gcc/testsuite/gfortran.dg/pointer_intent_4.f90 Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/trans-types.c trunk/gcc/testsuite/ChangeLog
[Bug target/46942] New: x86_64 parameter passing unnecessary sign/zero extends
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46942 Summary: x86_64 parameter passing unnecessary sign/zero extends Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassig...@gcc.gnu.org ReportedBy: ja...@gcc.gnu.org CC: hubi...@gcc.gnu.org Target: x86_64-linux It seems we zero/sign extend < 64-bit integral parameters into 64-bit registers both on the caller and callee side on x86_64, one of those should be redundant. In http://blog.regehr.org/archives/320 Example 4 it seems that LLVM probably only zero/sign extends in the caller, not callee, not sure what ICC does. __attribute__((noinline, noclone)) unsigned long f1 (unsigned int a, int b, unsigned short c, short d, unsigned char e, signed char f) { return (unsigned long) a + b + c + d + e + f; } unsigned long l; unsigned long f2 (void) { return f1 (l + 41, l + 41, l + 41, l + 41, l + 41, l + 41); } unsigned long f3 (unsigned int a, int b, unsigned short c, short d, unsigned char e, signed char f) { return foo (a, b, c, d, e, f); }
[Bug rtl-optimization/46920] suboptimal register allocation with local register variables
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46920 --- Comment #4 from Paolo Bonzini 2010-12-14 16:48:20 UTC --- Yes, I agree that excessive peppering of the code with register asm causes worse performance. The interpreter is only placing the very hot ip and sp registers in hard-coded registers. I can take a look at the optimization but it may take some time.
[Bug middle-end/46916] gcc.dg/torture/stackalign/non-local-goto-[1,2].c ICEs compiler due to r167727
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46916 --- Comment #30 from Iain Sandoe 2010-12-14 16:46:19 UTC --- PASS: g++.dg/pch/system-1.C -O2 -g -I. (test for excess errors) line #35 < __GLOBAL__sub_I__GCC_gcc_live_trunk_gcc_testsuite_g__.dg_pch_system_1.C_867072EB_0966702C: > __GLOBAL__sub_I__GCC_gcc_live_trunk_gcc_testsuite_g__.dg_pch_system_1.C_867072EB_1FC588D5: line #72 < .long __GLOBAL__sub_I__GCC_gcc_live_trunk_gcc_testsuite_g__.dg_pch_system_1.C_867072EB_0966702C > .long > __GLOBAL__sub_I__GCC_gcc_live_trunk_gcc_testsuite_g__.dg_pch_system_1.C_867072EB_1FC588D5 line #251 < __GLOBAL__sub_I__GCC_gcc_live_trunk_gcc_testsuite_g__.dg_pch_system_1.C_867072EB_0966702C.eh: > __GLOBAL__sub_I__GCC_gcc_live_trunk_gcc_testsuite_g__.dg_pch_system_1.C_867072EB_1FC588D5.eh: line #1373 < .ascii "_GLOBAL__sub_I__GCC_gcc_live_trunk_gcc_testsuite_g__.dg_pch_system_1.C_867072EB_0966702C\0" > .ascii > "_GLOBAL__sub_I__GCC_gcc_live_trunk_gcc_testsuite_g__.dg_pch_system_1.C_867072EB_1FC588D5\0" FAIL: g++.dg/pch/system-1.C -O2 -g assembly comparison
[Bug middle-end/46916] gcc.dg/torture/stackalign/non-local-goto-[1,2].c ICEs compiler due to r167727
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46916 --- Comment #29 from Dominique d'Humieres 2010-12-14 16:44:09 UTC --- Partial tests (x86_64-apple-darwin10.5.0) with the patch in comment #21 (with the one in comment #7 reverted) show that the pr is fixed, but it introduces at least one regression for both -m32/64: FAIL: g++.dg/other/pr22003.C (test for excess errors) [macbook] f90/bug% g++46 -O2 -fno-exceptions -freorder-blocks-and-partition /opt/gcc/work/gcc/testsuite/g++.dg/other/pr22003.C /opt/gcc/work/gcc/testsuite/g++.dg/other/pr22003.C: In destructor 'virtual c3::~c3()': /opt/gcc/work/gcc/testsuite/g++.dg/other/pr22003.C:17:8: error: virtual c3::~c3() causes a section type conflict /opt/gcc/work/gcc/testsuite/g++.dg/other/pr22003.C:17:8: error: virtual c3::~c3() causes a section type conflict /opt/gcc/work/gcc/testsuite/g++.dg/other/pr22003.C:17:8: error: virtual c3::~c3() causes a section type conflict
[Bug c++/46654] [trans-mem] "volatile" objects must not be allowed in a safe statement
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46654 Aldy Hernandez changed: What|Removed |Added Status|UNCONFIRMED |WAITING Last reconfirmed||2010.12.14 16:41:22 Ever Confirmed|0 |1 --- Comment #2 from Aldy Hernandez 2010-12-14 16:41:22 UTC --- Fixed and awaiting approval: http://gcc.gnu.org/ml/gcc-patches/2010-12/msg01103.html
[Bug middle-end/46916] gcc.dg/torture/stackalign/non-local-goto-[1,2].c ICEs compiler due to r167727
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46916 --- Comment #28 from Iain Sandoe 2010-12-14 16:41:02 UTC --- more of a problem is: FAIL: g++.dg/pch/system-1.C -g assembly comparison FAIL: g++.dg/pch/system-1.C -O2 -g assembly comparison FAIL: g++.dg/pch/system-1.C -O2 assembly comparison FAIL: g++.dg/pch/system-2.C -g assembly comparison FAIL: g++.dg/pch/system-2.C -O2 -g assembly comparison FAIL: g++.dg/pch/system-2.C -O2 assembly comparison
[Bug middle-end/46916] gcc.dg/torture/stackalign/non-local-goto-[1,2].c ICEs compiler due to r167727
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46916 --- Comment #27 from Iain Sandoe 2010-12-14 16:39:29 UTC --- (In reply to comment #23) > (In reply to comment #22) > > Running /opt/gcc/work/gcc/testsuite/g++.dg/tree-prof/tree-prof.exp ... > > FAIL: g++.dg/tree-prof/partition1.C compilation, -fprofile-use > > FAIL: g++.dg/tree-prof/partition2.C compilation, -fprofile-use hm. AFAIU, these should not work because exceptions code is incompatible with reordering - or has this changed?