[Bug tree-optimization/35639] [4.3/4.4 Regression] -fprofile-generate = huge SCCs for PRE
--- Comment #19 from bonzini at gnu dot org 2009-02-06 08:30 --- patch committed, PRE is now down to 35-40% of compilation time. I defer to the RMs whether this should be closed. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35639
[Bug rtl-optimization/37889] [4.3 Regression] SEGV, conditional execution proactively executed the false arm.
--- Comment #19 from bonzini at gnu dot org 2009-02-06 09:05 --- See 39110 for another patch that would need to be backported (thinko fix). -- bonzini at gnu dot org changed: What|Removed |Added BugsThisDependsOn||39110 Bug 37889 depends on bug 39110, which changed state. Bug 39110 Summary: [4.4 Regression] Revision 143939 breaks bootstrap on Linux/ia64 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39110 What|Old Value |New Value Status|UNCONFIRMED |NEW Status|NEW |WAITING Status|WAITING |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37889
[Bug rtl-optimization/38921] [4.3 Regression] NULL access in delay-slot
--- Comment #11 from bonzini at gnu dot org 2009-02-06 09:06 --- See 39110 for another patch that would need to be backported (thinko fix). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38921
[Bug tree-optimization/38977] [4.4 Regression] bash no longer builds with profile-feedback
--- Comment #21 from rguenth at gcc dot gnu dot org 2009-02-06 09:06 --- Subject: Bug 38977 Author: rguenth Date: Fri Feb 6 09:06:39 2009 New Revision: 143982 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=143982 Log: 2009-02-06 Richard Guenther rguent...@suse.de PR middle-end/38977 * tree-cfg.c (need_fake_edge_p): Force a fake edge for fork because we may expand it as __gcov_fork. Modified: trunk/gcc/ChangeLog trunk/gcc/tree-cfg.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38977
[Bug tree-optimization/38977] [4.4 Regression] bash no longer builds with profile-feedback
--- Comment #22 from rguenth at gcc dot gnu dot org 2009-02-06 09:08 --- Fixed. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38977
[Bug target/38824] [4.4 Regression] performance regression of sse code from 4.2/4.3
--- Comment #12 from bonzini at gnu dot org 2009-02-06 09:16 --- There's another peephole2, namely from [(set (match_operand 0 register_operand) (match_operand 1 register_operand)) (set (match_operand 0 register_operand) (match_operator 3 arith_or_logical_operator [(match_dup 0) (match_operand 2 memory_operand )]))] to [(set (match_dup 0) (match_dup 2)) (set (match_dup 0) (match_op_dup 3 [(match_dup 0) (match_dup 1)])] for operands[0] != operands[1] and commutative operator 3 (i.e. plus,mult,and,ior,xor,smin,smax,umin,umax). Testing a patch. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38824
[Bug tree-optimization/39074] [4.2/4.3/4.4 Regression] PTA constraint processing for *x = y is wrong
--- Comment #16 from rguenth at gcc dot gnu dot org 2009-02-06 09:17 --- Subject: Bug 39074 Author: rguenth Date: Fri Feb 6 09:17:19 2009 New Revision: 143983 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=143983 Log: 2009-02-06 Richard Guenther rguent...@suse.de PR tree-optimization/39074 * tree-ssa-structalias.c (storedanything_id, var_storedanything, storedanything_tree): New. (do_ds_constraint): Simplify ANYTHING shortcutting. Update the STOREDANYTHING solution if the lhs solution contains ANYTHING. (build_pred_graph): Add edges from STOREDANYTHING to all non-direct nodes. (get_constraint_for_1): CONSTRUCTOR is a zero-initializer. Generate NOTHING for it. (init_base_vars): Initialize STOREDANYTHING. (compute_points_to_sets): Free substitution info after building the succ graph. (ipa_pta_execute): Likewise. * gcc.dg/torture/pr39074.c: New testcase. * gcc.dg/torture/pr39074-2.c: Likewise. * gcc.dg/torture/pr39074-3.c: Likewise. Added: branches/alias-improvements/gcc/testsuite/gcc.dg/torture/pr39074-2.c branches/alias-improvements/gcc/testsuite/gcc.dg/torture/pr39074-3.c branches/alias-improvements/gcc/testsuite/gcc.dg/torture/pr39074.c Modified: branches/alias-improvements/gcc/ChangeLog.alias branches/alias-improvements/gcc/tree-ssa-structalias.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39074
[Bug debug/39086] [4.4 Regression] ICE in decl_ultimate_origin, at dwarf2out.c:5770 when compiling with -fno-tree-sra
--- Comment #11 from jakub at gcc dot gnu dot org 2009-02-06 09:35 --- Created an attachment (id=17261) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17261action=view) pr39086.C Slightly more reduced testcase. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39086
[Bug middle-end/39117] missed strict-aliasing warning
--- Comment #1 from rguenth at gcc dot gnu dot org 2009-02-06 10:09 --- You get a warning issued by the frontend for the first case. The second case is not warned because we didn't prune buf fron ps points-to set. This is because while A has an alias set of 2, buf has alias set zero. And obviously 2 is a subset of zero (which is the only thing we can really test here), so we don't prune buf (even though it is not valid to access buf via A *). This is a limitation of the C frontend which does not allow more precise representation of lvalue of character type. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39117
[Bug rtl-optimization/36758] [4.3/4.4 Regression] addition moved out of the loop when used with an argument
--- Comment #17 from bonzini at gnu dot org 2009-02-06 09:53 --- without a testcase where this affects performance, it should not be P2 (though it should be fixed). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36758
[Bug inline-asm/39078] Registers in on clober list are cloberred when compiled with optimization (x86_64) ?
--- Comment #3 from ubizjak at gmail dot com 2009-02-06 11:51 --- r11 is saved by the caller so this is the generated code is valid. Since nothing else uses r11 in the inline-asm, the code is correct. The problem is not that r11 not saved at stack, but that saved on the stack value of r15 ALWAYS will be overwritten - by the 'call my_syscall' instruction and saved on the stack values of rbx, r12, r13 and r14 MAY BE overritten if my_syscall function wrote something to the stack These values have been saved into red-zone area. Since gcc does not know that you have a call in the asm it thinks that func_1 is a leaf function where redzone area can be used for temporary storage. You can use -mno-red-zone to disable red-zone, but in reality, you should not call other functions from inside asm. -- ubizjak at gmail dot com changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39078
[Bug c++/37737] [c++0x] ICE in get_innermost_template_args at cp/pt.c:516 during variadic function overload deduction
--- Comment #9 from paolo dot carlini at oracle dot com 2009-02-06 12:51 --- On it. -- paolo dot carlini at oracle dot com changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |paolo dot carlini at oracle |dot org |dot com Status|NEW |ASSIGNED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37737
[Bug rtl-optimization/39077] [4.3/4.4 Regression] GCSE-optimization causes enormous binary size increase (~20 times !)
--- Comment #6 from rguenth at gcc dot gnu dot org 2009-02-06 13:07 --- It's at 280MB and still growing. Let's hope it compresses well ;) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39077
[Bug bootstrap/39111] gcc 4.4.0 20090204 - Configury from GNU linker to Operating System's Linker broke (reverse works OK)
--- Comment #3 from rob1weld at aol dot com 2009-02-06 13:19 --- Despite all the problems Ada passes _all_ of it's Testsuite: http://gcc.gnu.org/ml/gcc-testresults/2009-02/msg00620.html -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39111
[Bug fortran/38913] Fortran does not set TYPE_CANONICAL properly
--- Comment #5 from pault at gcc dot gnu dot org 2009-02-06 13:44 --- I guess that since Richard says that it's a problem, we had better confirm it:-) Paul -- pault at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2009-02-06 13:44:58 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38913
[Bug target/39118] x86_64 red zone violation
--- Comment #2 from ubizjak at gmail dot com 2009-02-06 13:45 --- (In reply to comment #0) This is a bug report for gcc 4_3 branch. I will attach a test case, slightly reduced from zlib code. When compiling this test case for the x86_64-linux target with -O2 -fomit-frame-pointer, I see this at the start of the function: -fno-omit-frame-pointer adler32: pushq %rbp movq%rdi, %rax andl$65535, %edi shrq$16, %rax movq%rsp, %rbp pushq %r15 andl$65535, %eax movl%edx, -140(%rbp) After %rsp was copied to %rbp, %r15 was pushed. So now %rsp is 8 bytes less than %rbp. The red zone is 128 bytes, so this means that any reference down to -136(%rbp) is valid. However, the code actually stores a value into -140(%rbp). This is invalid, and can cause subtle and unpredictable bugs depending upon when the kernel interrupts this code. We have several options here: 1. disable redzone with -fno-omit-frame-pointer 2. emit scheduling barrier just after the prologue for -fno-omit-frame-pointer 3. make instructions that access to redzone dependant on %rsp Confirmed, but since -fomit-frame-pointer is the default (and works OK) it is not a critical issue. -- ubizjak at gmail dot com changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2009-02-06 13:45:35 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39118
[Bug inline-asm/39048] gcc 4.4.0 20090131 - Extra underscore hides libgcc's soft-fp functions from Testsuite causing FAILs + naming error in libgcc
--- Comment #3 from rob1weld at aol dot com 2009-02-06 14:11 --- I tossed in that patch and it cause gcc's build to fail here: ../../../gcc_trunk/libgcc/../gcc/config/soft-fp/floatditf.c:35: warning: no previous prototype for '__floatditf' /usr/share/src/gcc_build/./gcc/xgcc -B/usr/share/src/gcc_build/./gcc/ -B/usr/local/i386-pc-solaris2.11/bin/ -B/usr/local/i386-pc-solaris2.11/lib/ -isystem /usr/local/i386-pc-solaris2.11/include -isystem /usr/local/i386-pc-solaris2.11/sys-include -g -O2 -O2 -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wcast-qual -Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I. -I../.././gcc -I../../../gcc_trunk/libgcc -I../../../gcc_trunk/libgcc/. -I../../../gcc_trunk/libgcc/../gcc -I../../../gcc_trunk/libgcc/../include -I../../../gcc_trunk/libgcc/../libdecnumber/dpd -I../../../gcc_trunk/libgcc/../libdecnumber -DHAVE_CC_TLS -o floatunditf.o -MT floatunditf.o -MD -MP -MF floatunditf.dep -fexceptions -c ../../../gcc_trunk/libgcc/../gcc/config/soft-fp/floatunditf.c -fvisibility=hidden -DHIDE_EXPORTS ../../../gcc_trunk/libgcc/../gcc/config/soft-fp/floatunditf.c:36: warning: no previous prototype for '__floatunditf' ../../../gcc_trunk/libgcc/../gcc/config/soft-fp/floatunditf.c: In function '__floatunditf': ../../../gcc_trunk/libgcc/../gcc/config/soft-fp/floatunditf.c:42: warning: comparison of unsigned expression 0 is always false /usr/share/src/gcc_build/./gcc/xgcc -B/usr/share/src/gcc_build/./gcc/ -B/usr/local/i386-pc-solaris2.11/bin/ -B/usr/local/i386-pc-solaris2.11/lib/ -isystem /usr/local/i386-pc-solaris2.11/include -isystem /usr/local/i386-pc-solaris2.11/sys-include -g -O2 -O2 -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wcast-qual -Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I. -I../.././gcc -I../../../gcc_trunk/libgcc -I../../../gcc_trunk/libgcc/. -I../../../gcc_trunk/libgcc/../gcc -I../../../gcc_trunk/libgcc/../include -I../../../gcc_trunk/libgcc/../libdecnumber/dpd -I../../../gcc_trunk/libgcc/../libdecnumber -DHAVE_CC_TLS -o fixtfti.o -MT fixtfti.o -MD -MP -MF fixtfti.dep -fexceptions -c ../../../gcc_trunk/libgcc/../gcc/config/soft-fp/fixtfti.c -fvisibility=hidden -DHIDE_EXPORTS ../../../gcc_trunk/libgcc/../gcc/config/soft-fp/fixtfti.c:34: error: expected '=', ',', ';', 'asm' or '__attribute__' before '__fixtfti' gmake[3]: *** [fixtfti.o] Error 1 gmake[3]: Leaving directory `/usr/share/src/gcc_build/i386-pc-solaris2.11/libgcc' gmake[2]: *** [all-stage1-target-libgcc] Error 2 gmake[2]: Leaving directory `/usr/share/src/gcc_build' gmake[1]: *** [stage1-bubble] Error 2 gmake[1]: Leaving directory `/usr/share/src/gcc_build' gmake: *** [all] Error 2 I guess that it is missing an Include file or the included files have generated portions that missed TMODES inclusions ... When I add these lines to the top of fixtfti.c it complains about TI_BITS: typedef int TItype __attribute__ ((mode (TI))); typedef unsigned int UTItype __attribute__ ((mode (TI))); # gmake ... ../../../gcc_trunk/libgcc/../gcc/config/soft-fp/fixtfti.c:36: error: unable to emulate 'TI' ../../../gcc_trunk/libgcc/../gcc/config/soft-fp/fixtfti.c:37: error: unable to emulate 'TI' ../../../gcc_trunk/libgcc/../gcc/config/soft-fp/fixtfti.c:40: warning: no previous prototype for '__fixtfti' ../../../gcc_trunk/libgcc/../gcc/config/soft-fp/fixtfti.c: In function '__fixtfti': ../../../gcc_trunk/libgcc/../gcc/config/soft-fp/fixtfti.c:47: error: 'TI_BITS' undeclared (first use in this function) ../../../gcc_trunk/libgcc/../gcc/config/soft-fp/fixtfti.c:47: error: (Each undeclared identifier is reported only once ../../../gcc_trunk/libgcc/../gcc/config/soft-fp/fixtfti.c:47: error: for each function it appears in.) ../../../gcc_trunk/libgcc/../gcc/config/soft-fp/fixtfti.c:47: warning: left shift count = width of type ../../../gcc_trunk/libgcc/../gcc/config/soft-fp/fixtfti.c:47: warning: left shift count = width of type ../../../gcc_trunk/libgcc/../gcc/config/soft-fp/fixtfti.c:47: warning: left shift count = width of type ../../../gcc_trunk/libgcc/../gcc/config/soft-fp/fixtfti.c:47: warning: left shift count = width of type ../../../gcc_trunk/libgcc/../gcc/config/soft-fp/fixtfti.c:47: warning: left shift count = width of type ../../../gcc_trunk/libgcc/../gcc/config/soft-fp/fixtfti.c:47: warning: left shift count = width of type ../../../gcc_trunk/libgcc/../gcc/config/soft-fp/fixtfti.c:47: warning: left shift count = width of type ../../../gcc_trunk/libgcc/../gcc/config/soft-fp/fixtfti.c:47: warning: left shift count = width of type I'll play with it some more while I await the help from an expert (or succeed in Googling my own help). Thanks, Rob -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39048
[Bug target/39118] x86_64 red zone violation
--- Comment #3 from ian at airs dot com 2009-02-06 14:14 --- Yes, -fno-omit-frame-pointer, sorry. I don't see why this has anything to do with -fno-omit-frame-pointer per se. As far as I can see so far the same problem can arise with any function which happens to require a frame pointer for some reason, such as a call to __builtin_return_address or if profiling is turned on. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39118
[Bug target/39082] union with long double doesn't follow x86-64 psABI
--- Comment #3 from hjl dot tools at gmail dot com 2009-02-06 14:33 --- The updated patch is at http://gcc.gnu.org/ml/gcc-patches/2009-02/msg00259.html -- hjl dot tools at gmail dot com changed: What|Removed |Added URL|http://gcc.gnu.org/ml/gcc- |http://gcc.gnu.org/ml/gcc- |patches/2009- |patches/2009- |02/msg00137.html|02/msg00259.html Target Milestone|--- |4.4.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39082
[Bug inline-asm/39048] gcc 4.4.0 20090131 - Extra underscore hides libgcc's soft-fp functions from Testsuite causing FAILs + naming error in libgcc
--- Comment #4 from rob1weld at aol dot com 2009-02-06 14:40 --- Do we support TImode arithmetic on many platforms?, See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17279 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19493 I am booted in 32-bit mode (and building multilib). Rob -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39048
[Bug target/39118] x86_64 red zone violation
--- Comment #4 from ubizjak at gmail dot com 2009-02-06 14:50 --- (In reply to comment #3) Yes, -fno-omit-frame-pointer, sorry. I don't see why this has anything to do with -fno-omit-frame-pointer per se. As far as I can see so far the same problem can arise with any function which happens to require a frame pointer for some reason, such as a call to __builtin_return_address or if profiling is turned on. -fno-omit-frame-pointer just forces usage of frame pointer in x86_64 case to trigger this problem. When frame pointer is used, there is no connection between %ebp and %esp at the point where prologue ends. The offset between %ebp and %esp is calculated at this point, but scheduler can still move instructions referring to %ebp all the way to (insn 567). (insn/f 567 566 568 2 pr39118.c:6 (set (reg/f:DI 6 bp) (reg/f:DI 7 sp)) -1 (nil)) (insn/f 568 567 569 2 pr39118.c:6 (set (mem:DI (pre_dec:DI (reg/f:DI 7 sp)) [0 S8 A8]) (reg:DI 44 r15)) -1 (nil)) ... (insn/f 572 571 573 2 pr39118.c:6 (set (mem:DI (pre_dec:DI (reg/f:DI 7 sp)) [0 S8 A8]) (reg:DI 3 bx)) -1 (nil)) (note 574 573 93 2 NOTE_INSN_PROLOGUE_END) (insn:HI 93 574 94 2 pr39118.c:6 (set (mem/c:DI (plus:DI (reg/f:DI 6 bp) (const_int -136 [0xff78])) [14 buf+0 S8 A8]) (reg:DI 4 si [ buf ])) 89 {*movdi_1_rex64} (nil)) (insn:HI 94 93 95 2 pr39118.c:6 (set (mem/c:SI (plus:DI (reg/f:DI 6 bp) (const_int -140 [0xff74])) [15 len+0 S4 A8]) (reg:SI 1 dx [ len ])) 47 {*movsi_1} (nil)) This problem can be solved in the most elegant way by inserting some kind of artificial instruction at the end of prologue, perhaps (set %rbp)(unspec [(%rsp)] UNSPEC_REDZONE_BLOCKAGE) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39118
[Bug target/39118] x86_64 red zone violation
--- Comment #5 from ubizjak at gmail dot com 2009-02-06 15:05 --- This patch fixes wrong scheduling: Index: i386.md === --- i386.md (revision 143890) +++ i386.md (working copy) @@ -67,6 +67,7 @@ (UNSPEC_DEF_CFA 15) (UNSPEC_SET_RIP 16) (UNSPEC_SET_GOT_OFFSET 17) + (UNSPEC_REDZONE_BLOCKAGE18) ; TLS support (UNSPEC_TP 18) @@ -14885,6 +14886,14 @@ [(set_attr length 0)]) +(define_insn redzone_blockage + [(set (match_operand 0 ) + (unspec [(match_operand 1 )] UNSPEC_REDZONE_BLOCKAGE))] + + + [(set_attr length 0)]) + + ;; Insn emitted into the body of a function to return from a function. ;; This is only done if the function's epilogue is known to be simple. ;; See comments for ix86_can_use_return_insn_p in i386.c. Index: i386.c === --- i386.c (revision 143890) +++ i386.c (working copy) @@ -6492,6 +6492,10 @@ emit_insn (gen_blockage ()); } + if (frame_pointer_needed frame.red_zone_size) +emit_insn (gen_redzone_blockage (hard_frame_pointer_rtx, +stack_pointer_rtx)); + /* Emit cld instruction if stringops are used in the function. */ if (TARGET_CLD ix86_current_function_needs_cld) emit_insn (gen_cld ()); -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39118
[Bug target/39119] New: Update classification of aggregates with __m256
We want to pass aggregates of 32 bytes with single __m256 field in AVX registers, instead of memory. The proposed psABI change is at http://gcc.gnu.org/ml/gcc/2009-02/msg00058.html -- Summary: Update classification of aggregates with __m256 Product: gcc Version: 4.4.0 Status: UNCONFIRMED Severity: critical Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: hjl dot tools at gmail dot com GCC target triplet: x86-64-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39119
[Bug target/39119] Update classification of aggregates with __m256
--- Comment #1 from hjl dot tools at gmail dot com 2009-02-06 15:13 --- The gcc patch is posted at http://gcc.gnu.org/ml/gcc-patches/2009-02/msg00209.html -- hjl dot tools at gmail dot com changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |hjl dot tools at gmail dot |dot org |com URL||http://gcc.gnu.org/ml/gcc- ||patches/2009- ||02/msg00209.html Priority|P3 |P1 Target Milestone|--- |4.4.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39119
[Bug c/36432] [4.2/4.3/4.4 Regression] �incompatible pointer type� with pointer to array as a struct member
--- Comment #2 from jsm28 at gcc dot gnu dot org 2009-02-06 15:35 --- This is actually a regression relative to GCC versions not supporting flexible array members (2.95 and before). Testing a patch. -- jsm28 at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |jsm28 at gcc dot gnu dot org |dot org | Status|NEW |ASSIGNED Last reconfirmed|2008-06-04 10:46:01 |2009-02-06 15:35:13 date|| Summary|incompatible pointer type |[4.2/4.3/4.4 Regression] |with pointer to array as a |incompatible pointer type |struct member |with pointer to array as a ||struct member Target Milestone|--- |4.2.5 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36432
[Bug c/22297] [4.2/4.3/4.4 Regression] missing uninitialization warning
--- Comment #7 from manu at gcc dot gnu dot org 2009-02-06 15:46 --- Still fails in GCC 4.4. My understanding is that this code in fold_builtin_n if (ret) { ret = build1 (NOP_EXPR, TREE_TYPE (ret), ret); =TREE_NO_WARNING (ret) = 1; return ret; } creates a NOP(s), where the NOP tree is marked nowarning. Then, at some moment later, the nowarning is copied to the tree corresponding to s. In my opinion, this is the bug: the nowarning bit should not pass to s. -- manu at gcc dot gnu dot org changed: What|Removed |Added CC||manu at gcc dot gnu dot org OtherBugsDependingO||24639 nThis|| Last reconfirmed|2006-02-01 04:33:56 |2009-02-06 15:46:39 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22297
[Bug rtl-optimization/39077] [4.3/4.4 Regression] GCSE-optimization causes enormous binary size increase (~20 times !)
--- Comment #7 from rguenth at gcc dot gnu dot org 2009-02-06 14:35 --- Ok, still too large to attach. It should appear at http://gcc.opensuse.org/SSMprotocol_def_en.cpp.140r.gcse1.lzma after some time. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39077
[Bug c++/35147] ICE trying to expand an argument pack with zero arguments
--- Comment #3 from paolo dot carlini at oracle dot com 2009-02-06 12:51 --- On it. -- paolo dot carlini at oracle dot com changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |paolo dot carlini at oracle |dot org |dot com Status|NEW |ASSIGNED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35147
[Bug inline-asm/39078] Registers in on clober list are cloberred when compiled with optimization (x86_64) ?
--- Comment #4 from jakub at gcc dot gnu dot org 2009-02-06 12:08 --- Or you can subq $128, %rsp; call my_syscall; addq $128, %rsp in your inline assembly. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39078
[Bug debug/39086] [4.4 Regression] ICE in decl_ultimate_origin, at dwarf2out.c:5770 when compiling with -fno-tree-sra
--- Comment #13 from jakub at gcc dot gnu dot org 2009-02-06 16:23 --- Created an attachment (id=17262) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17262action=view) pr39086.C Even more reduced testcase on which g++ -O2 -W -Wall is quiet (no missing returns in functions returning non-void etc.). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39086
[Bug other/38606] AIX: build failed in stage 2
--- Comment #12 from rosenhauer at dkrz dot de 2009-02-06 13:34 --- Maybe you are running out of native heap. Try with something like: export LDR_CNTRL=MAXDATA=0x4000 -- rosenhauer at dkrz dot de changed: What|Removed |Added CC||rosenhauer at dkrz dot de http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38606
[Bug inline-asm/39048] gcc 4.4.0 20090131 - Extra underscore hides libgcc's soft-fp functions from Testsuite causing FAILs + naming error in libgcc
--- Comment #5 from ubizjak at gmail dot com 2009-02-06 16:31 --- (In reply to comment #3) I tossed in that patch and it cause gcc's build to fail here: ../../../gcc_trunk/libgcc/../gcc/config/soft-fp/fixtfti.c:34: error: expected '=', ',', ';', 'asm' or '__attribute__' before '__fixtfti' Sorry, you need to change libgcc/config.host in the same way. Look at the end of the file. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39048
[Bug rtl-optimization/39077] [4.3/4.4 Regression] GCSE-optimization causes enormous binary size increase (~20 times !)
--- Comment #5 from steven at gcc dot gnu dot org 2009-02-06 11:59 --- I am unable to reproduce this on Cygwin. Anyone got a .gcse dump for me? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39077
[Bug debug/39086] [4.4 Regression] ICE in decl_ultimate_origin, at dwarf2out.c:5770 when compiling with -fno-tree-sra
--- Comment #12 from jakub at gcc dot gnu dot org 2009-02-06 10:54 --- Seems that 2008-08-29 patch effect on this testcase is that __builtin_expect is removed later and it apparently isn't considered as zero cost. This is strange, as gimple_reg = gimple_reg2 is considered to have 0 cost. I think __builtin_expect shouldn't count the cost of the second argument and for the first argument if lhs of the call is_gimple_reg and so is the first call argument, it should also return 0 cost. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39086
[Bug inline-asm/39048] gcc 4.4.0 20090131 - Extra underscore hides libgcc's soft-fp functions from Testsuite causing FAILs + naming error in libgcc
--- Comment #6 from ubizjak at gmail dot com 2009-02-06 16:35 --- (In reply to comment #4) Do we support TImode arithmetic on many platforms?, See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17279 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19493 I am booted in 32-bit mode (and building multilib). 32bit i386 doesn't support TImode. TImode soft-fp is disabled in libgcc/config/i386/32/t-fprules-softfp. A change in libgcc/conifg.host is needed to correctly filter these functions out on your target. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39048
[Bug debug/39086] [4.4 Regression] ICE in decl_ultimate_origin, at dwarf2out.c:5770 when compiling with -fno-tree-sra
--- Comment #14 from jakub at gcc dot gnu dot org 2009-02-06 16:37 --- The problem is with f4 RESULT_DECL. First during save_inline_function_body remap_decl creates a copy of that RESULT_DECL and sets copy's DECL_ABSTRACT_ORIGIN to the original f4's RESULT_DECL. Then during optimization of the original f4 tree_nrv sets the original f4 RESULT_DECL's DECL_ABSTRACT_ORIGIN to found's DECL_ABSTRACT_ORIGIN (where found is a VAR_DECL originally from f1). But at this point decl_ultimate_origin will already ICE on the inlined f4's RESULT_DECL, as its DECL_ABSTRACT_ORIGIN has another DECL_ABSTRACT_ORIGIN, so it is not ultimate anymore. I have no idea how to prevent this though. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39086
[Bug target/39118] x86_64 red zone violation
--- Comment #6 from hjl dot tools at gmail dot com 2009-02-06 16:44 --- Gcc 4.1 -fno-omit-frame-pointer -O2 generates --- adler32: pushq %rbp movq%rdi, %rax andl$65535, %edi shrq$16, %rax movq%rsp, %rbp pushq %r15 andl$65535, %eax pushq %r14 pushq %r13 pushq %r12 pushq %rbx subq$16, %rsp movl%edx, -148(%rbp) --- Is this a regression? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39118
[Bug tree-optimization/38844] [4.3/4.4 Regression] deadlock with __attribute__((always_inline)) at -O1 and above
--- Comment #13 from hubicka at gcc dot gnu dot org 2009-02-06 16:47 --- Subject: Bug 38844 Author: hubicka Date: Fri Feb 6 16:47:39 2009 New Revision: 143985 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=143985 Log: PR tree-optimization/38844 * ipa-inline.c (try_inline): Stop inlining recursion when edge is already inlined. Modified: trunk/gcc/ChangeLog trunk/gcc/ipa-inline.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38844
[Bug tree-optimization/38844] [4.3 Regression] deadlock with __attribute__((always_inline)) at -O1 and above
--- Comment #14 from hubicka at gcc dot gnu dot org 2009-02-06 16:49 --- Fixed on mainline -- hubicka at gcc dot gnu dot org changed: What|Removed |Added Summary|[4.3/4.4 Regression]|[4.3 Regression] deadlock |deadlock with |with |__attribute__((always_inline|__attribute__((always_inline |)) at -O1 and above |)) at -O1 and above http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38844
[Bug inline-asm/39116] wrong register used when generating assembly with -O1
--- Comment #6 from fabrice at mocana dot com 2009-02-06 17:16 --- (In reply to comment #5) Closing this as invalid. The problem is the interaction of the inline assembly with the optimization option -funswitch-loops. Will submit a new bug if I can find a simple way to reproduce it. -- fabrice at mocana dot com changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39116
[Bug target/39118] x86_64 red zone violation
--- Comment #7 from ian at airs dot com 2009-02-06 17:25 --- Yes, it's a regression for 4.3 relative to 4.2 for this test case. I don't know if it is a general regression. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39118
[Bug rtl-optimization/39077] [4.3/4.4 Regression] GCSE-optimization causes enormous binary size increase (~20 times !)
--- Comment #8 from steven at gcc dot gnu dot org 2009-02-06 17:50 --- Re. comment #2: This looks more like normal PRE over exception edges, which AFAIK tree-ssa-pre does not do (it keeps ANTIC_IN empty for any block that has abnormal predecessors). -- steven at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|steven at gcc dot gnu dot |unassigned at gcc dot gnu |org |dot org Status|ASSIGNED|NEW http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39077
[Bug tree-optimization/39120] New: [4.2/4.3/4.4 Regression] Missed escape constraints for call results
struct X { int *p; } x; struct X __attribute__((noinline)) foo(int *p) { struct X x; x.p = p; return x; } void __attribute((noinline)) bar() { *x.p = 1; } extern void abort (void); int main() { int i = 0; x = foo(i); bar(); if (i != 1) abort (); return 0; } -- Summary: [4.2/4.3/4.4 Regression] Missed escape constraints for call results Product: gcc Version: 4.4.0 Status: UNCONFIRMED Keywords: wrong-code, alias Severity: normal Priority: P3 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: rguenth at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39120
[Bug tree-optimization/39120] [4.2/4.3/4.4 Regression] Missed escape constraints for call results
--- Comment #1 from rguenth at gcc dot gnu dot org 2009-02-06 17:59 --- I have a patch. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |rguenth at gcc dot gnu dot |dot org |org Status|UNCONFIRMED |ASSIGNED Ever Confirmed|0 |1 Known to fail||4.2.4 4.3.3 4.4.0 Known to work||4.1.2 Last reconfirmed|-00-00 00:00:00 |2009-02-06 17:59:36 date|| Target Milestone|--- |4.2.5 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39120
[Bug testsuite/36443] [4.3/4.4 Regression]: HOSTCC doesn't work with installed gcc
--- Comment #48 from mark at codesourcery dot com 2009-02-06 18:35 --- Subject: Re: [4.3/4.4 Regression]: HOSTCC doesn't work with installed gcc rob1weld at aol dot com wrote: One example is inherently derived from where we see it being set (wrongly), during make -i check _PRIOR_ to running make install. We (some of us) can see that the Testsuite Results vary WILDLY (sometimes) depending on the Installed Gcc versus the Tested Gcc. There is no perfect answer here. Not setting GCC_EXEC_PREFIX is wrong for some usage models. Setting it may be wrong for your usage model. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36443
[Bug testsuite/36443] [4.3/4.4 Regression]: HOSTCC doesn't work with installed gcc
--- Comment #49 from hjl dot tools at gmail dot com 2009-02-06 19:15 --- For most people, GCC_EXEC_PREFIX points to either a directory which doesn't exist or a different version of gcc. Since GCC_EXEC_PREFIX may point a directory which doesn't exist, it isn't really needed by make check for most people. Only very small percentage of gcc developers need GCC_EXEC_PREFIX for make check. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36443
[Bug c/39034] Decimal floating-point math done wrong
--- Comment #5 from janis at gcc dot gnu dot org 2009-02-06 19:21 --- This was fixed in mainline by r141432, a fix for PR middle-end/36578. That bug was a regression from 3.3 to 3.4. I'm testing a backport of that fix to the 4.3 branch. -- janis at gcc dot gnu dot org changed: What|Removed |Added CC||jsm28 at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39034
[Bug testsuite/36443] [4.3/4.4 Regression]: HOSTCC doesn't work with installed gcc
--- Comment #50 from mark at codesourcery dot com 2009-02-06 19:22 --- Subject: Re: [4.3/4.4 Regression]: HOSTCC doesn't work with installed gcc hjl dot tools at gmail dot com wrote: For most people, GCC_EXEC_PREFIX points to either a directory which doesn't exist or a different version of gcc. Since GCC_EXEC_PREFIX may point a directory which doesn't exist, it isn't really needed by make check for most people. Only very small percentage of gcc developers need GCC_EXEC_PREFIX for make check. I don't know how that's been measured. Improving the heuristic by avoiding the doesn't-exist case might be a fine option, as I stated previously. If you really want to clean this up, add some variable you can set on the make command-line, or at configure-time, that allows the user to say which use case applies. I don't see a lot of value in arguing over the default. There's no right answer; ergo, we need a switch. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36443
[Bug testsuite/36443] [4.3/4.4 Regression]: HOSTCC doesn't work with installed gcc
--- Comment #51 from janis at gcc dot gnu dot org 2009-02-06 19:30 --- Mark pointed out way back in comment #9 that GCC used to effectively do the same thing by searching the install directory even without GCC_EXEC_PREFIX. I understand that setting it makes people nervous, but I haven't seen any specific evidence that setting it is actually a problem. I often reuse an existing install directory, and if there were problems with picking up GCC components from GCC_EXEC_PREFIX during testing then I would have seen failures from new tests. Rob, you haven't convinced me that there is a problem. I'd want to see specifics, like building a particular revision and then running a particular test using make -k RUNTESTFLAGS=... xx.exp=testname.c check I posted a patch last week that cleans things up a bit by setting GCC_EXEC_PREFIX in one place and switching it back again for running $HOSTCC; see http://gcc.gnu.org/ml/gcc-patches/2009-01/msg01496.html . -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36443
[Bug c/39121] New: strange behavior of a chain of operations.
#include stdio.h /* Why the first swap operation works as expected but it does not happen the same with the second one ? I guess that it can be due operations within temp values, but IMHO swap operation should work in both cases. Thanks ! */ void swap(int *a, int *b) { *a ^= *b ^= *a ^= *b; } int main() { int a = 5; int b = 8; printf(%d, %d\n, a, b); a ^= b ^= a ^= b; printf(%d, %d\n, a, b); swap(a, b); printf(%d, %d\n, a, b); } -- Summary: strange behavior of a chain of operations. Product: gcc Version: unknown Status: UNCONFIRMED Severity: major Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: nospam at pamies dot cat http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39121
[Bug c/39121] strange behavior in chained operations
--- Comment #1 from pinskia at gcc dot gnu dot org 2009-02-06 20:09 --- This is undefined code as you are modifying *a twice without a sequence point inbetween the modifies. *** This bug has been marked as a duplicate of 15145 *** -- pinskia at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||DUPLICATE http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39121
[Bug c++/15145] Implementing -Wsequence-point for C++ would be very useful
--- Comment #6 from pinskia at gcc dot gnu dot org 2009-02-06 20:09 --- *** Bug 39121 has been marked as a duplicate of this bug. *** -- pinskia at gcc dot gnu dot org changed: What|Removed |Added CC||nospam at pamies dot cat http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15145
[Bug c/36432] [4.2/4.3/4.4 Regression] �incompatible pointer type� with pointer to array as a struct member
--- Comment #3 from jsm28 at gcc dot gnu dot org 2009-02-06 20:12 --- Subject: Bug 36432 Author: jsm28 Date: Fri Feb 6 20:12:10 2009 New Revision: 143989 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=143989 Log: PR c/36432 * c-decl.c (grokdeclarator): Don't treat [] declarators in fields as indicating flexible array members unless the field itself is being declarared as the incomplete array. testsuite: * gcc.dg/c90-flex-array-2.c, gcc.dg/c99-flex-array-6.c: New tests. Added: trunk/gcc/testsuite/gcc.dg/c90-flex-array-2.c trunk/gcc/testsuite/gcc.dg/c99-flex-array-6.c Modified: trunk/gcc/ChangeLog trunk/gcc/c-decl.c trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36432
[Bug c/35434] [4.2/4.3/4.4 regression] ICE with attribute alias
--- Comment #3 from jsm28 at gcc dot gnu dot org 2009-02-06 20:37 --- Testing a patch. -- jsm28 at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |jsm28 at gcc dot gnu dot org |dot org | Status|NEW |ASSIGNED Last reconfirmed|2008-03-15 01:31:08 |2009-02-06 20:37:18 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35434
[Bug c/36432] [4.2/4.3 Regression] �incompatible pointer type� with pointer to array as a struct member
--- Comment #4 from jsm28 at gcc dot gnu dot org 2009-02-06 20:42 --- Fixed for 4.4 so far. -- jsm28 at gcc dot gnu dot org changed: What|Removed |Added Known to fail|3.3.3 4.4.0 4.3.0 |3.3.3 4.3.0 Known to work||4.4.0 Summary|[4.2/4.3/4.4 Regression]|[4.2/4.3 Regression] |incompatible pointer type |incompatible pointer type |with pointer to array as a |with pointer to array as a |struct member |struct member http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36432
[Bug rtl-optimization/29144] Missing if-conversion. If-conversion dependent on operand order. Inconsistent if-conversion.
--- Comment #1 from steven at gcc dot gnu dot org 2009-02-06 20:58 --- The near obvious cse cases are not obvious (requires reassociation). To make them redundant, you need code hoisting. -- steven at gcc dot gnu dot org changed: What|Removed |Added BugsThisDependsOn||23286 Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2009-02-06 20:58:37 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29144
[Bug c/39035] if( 0.0DF ) is considered true
--- Comment #4 from janis at gcc dot gnu dot org 2009-02-06 21:01 --- Subject: Bug 39035 Author: janis Date: Fri Feb 6 21:01:46 2009 New Revision: 143992 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=143992 Log: PR c/39035 * real.c (do_compare): Special-case compare of zero against decimal float value. * gcc.dg/dfp/pr39035.c: New test. Added: trunk/gcc/testsuite/gcc.dg/dfp/pr39035.c Modified: trunk/gcc/ChangeLog trunk/gcc/real.c trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39035
[Bug tree-optimization/29353] ICE: testsuite failure with max-unswitch-insns=1000 max-unswitch-level=4 max-aliased-vops=10000
--- Comment #2 from steven at gcc dot gnu dot org 2009-02-06 21:02 --- Can't reproduce this with any compiler I've tried. -- steven at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29353
[Bug tree-optimization/29598] FAIL: gcc.dg/tree-ssa/loadpre1.c and loadpre1[45].c scan-tree-dump-times Eliminated: 1 1
--- Comment #4 from steven at gcc dot gnu dot org 2009-02-06 21:06 --- What happened to this one since, ehm, 2.5 years ago? -- steven at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||WONTFIX http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29598
[Bug tree-optimization/29598] FAIL: gcc.dg/tree-ssa/loadpre1.c and loadpre1[45].c scan-tree-dump-times Eliminated: 1 1
--- Comment #5 from steven at gcc dot gnu dot org 2009-02-06 21:06 --- What happened to this one since, ehm, 2.5 years ago? -- steven at gcc dot gnu dot org changed: What|Removed |Added Status|RESOLVED|WAITING http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29598
[Bug c/39121] strange behavior in chained operations
--- Comment #2 from nospam at pamies dot cat 2009-02-06 21:07 --- Is not the same bug as #15145. I agree with you that there is just one sequence point, but the operation is not undefined. void swap(int *a, int *b) { *a ^= *b ^= *a ^= *b; } This code should be compiled to: *a = *a ^ *b; *b = *b ^ *a; *a = *a ^ *b; And not to something like (I think that is what happens): int tmp; tmp = *a ^ *b; *b = *b ^ tmp; //On that point *a should contain 5^8 instead of the original value 5. //This happens because the temp variable generated by the compiler. *a = *a ^ *b; I think that the compiler is not translating properly what was written in the source code. Summarizing, I think that in: y = 1; x = (y += 1); The execution order should be: volatile_register --- y + 1 y --- volatile_register x --- volatile_register instead of: volatile_register --- y + 1 x --- volatile_register y --- volatile_register -- nospam at pamies dot cat changed: What|Removed |Added Status|RESOLVED|UNCONFIRMED Resolution|DUPLICATE | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39121
[Bug middle-end/29855] stale liveness information duplicated
--- Comment #1 from steven at gcc dot gnu dot org 2009-02-06 21:10 --- There is no flow... Fixed with df merge. -- steven at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29855
[Bug middle-end/30595] gcc3.4.6 generates incorrect ppc32 code for combination of bitfields and shifts
--- Comment #2 from steven at gcc dot gnu dot org 2009-02-06 21:15 --- Not reproducible, and gcc 3.4 is not supported anymore. -- steven at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||WONTFIX http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30595
[Bug rtl-optimization/30688] Branch registers loaded too late on ia64
--- Comment #2 from steven at gcc dot gnu dot org 2009-02-06 21:21 --- GCC has the bt-load optimization for this. But this code is not enabled for ia64. It could be so simple as just setting flag_branch_target_optimize{,2} to true in the ia64 backend, but maybe more work is needed (I have never looked at bt-load.c). -- steven at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Keywords||missed-optimization Last reconfirmed|-00-00 00:00:00 |2009-02-06 21:21:19 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30688
[Bug c/39121] strange behavior in chained operations
--- Comment #3 from rguenth at gcc dot gnu dot org 2009-02-06 21:21 --- Evaluation order is undefined if there is no sequence point. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39121
[Bug tree-optimization/29598] FAIL: gcc.dg/tree-ssa/loadpre1.c and loadpre1[45].c scan-tree-dump-times Eliminated: 1 1
--- Comment #6 from rguenth at gcc dot gnu dot org 2009-02-06 21:22 --- They are no longer XFAILed. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added Status|WAITING |RESOLVED Resolution|WONTFIX |FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29598
[Bug middle-end/30595] gcc3.4.6 generates incorrect ppc32 code for combination of bitfields and shifts
--- Comment #3 from ISPARRY at BROCADE dot COM 2009-02-06 21:25 --- Subject: RE: gcc3.4.6 generates incorrect ppc32 code for combination of bitfields and shifts Whilst I am not complaining about 3.4 not being supported, I think it is a pretty poor show that you are not able to reproduce it. Did anyone even try? -Original Message- From: steven at gcc dot gnu dot org [mailto:gcc-bugzi...@gcc.gnu.org] Sent: Friday, February 06, 2009 1:16 PM To: Icarus Sparry Subject: [Bug middle-end/30595] gcc3.4.6 generates incorrect ppc32 code for combination of bitfields and shifts --- Comment #2 from steven at gcc dot gnu dot org 2009-02-06 21:15 --- Not reproducible, and gcc 3.4 is not supported anymore. -- steven at gcc dot gnu dot org changed: What|Removed |Added -- -- Status|UNCONFIRMED |RESOLVED Resolution||WONTFIX http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30595 --- You are receiving this mail because: --- You reported the bug, or are watching the reporter. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30595
[Bug bootstrap/38981] internal compiler error
--- Comment #10 from kamaraju at gmail dot com 2009-02-06 21:26 --- Created an attachment (id=17263) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17263action=view) reduced program which reproduces the ICE Attaching a reduced test case which reproduces the same error. gcc -c ice3.c ice3.c: In function 'd_substitution': ice3.c:11: 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. gcc -v Using built-in specs. Target: sparc-sun-solaris2.8 Configured with: /home/kkusuman/software/unZipped/gcc-4.4-wkly_gmp-4.2.4_mpfr-2.4.0/configure --enable-languages=c,c++,fortran --with-as=/mlim/u/dev/tools/apps/gnu/arch/sol8.sun4/bin/as --with-ld=/mlim/u/dev/tools/apps/gnu/arch/sol8.sun4/bin/ld --with-build-time-tools=/mlim/u/dev/tools/apps/gnu/arch/sol8.sun4/bin --prefix=/home/kkusuman/software/myroot/gcc-4.4-20090123 Thread model: posix gcc version 4.4.0 20090123 (experimental) (GCC) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38981
[Bug bootstrap/38981] internal compiler error
--- Comment #11 from kamaraju at gmail dot com 2009-02-06 21:28 --- Created an attachment (id=17264) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17264action=view) preprocessed source code of ice3.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38981
[Bug middle-end/30595] gcc3.4.6 generates incorrect ppc32 code for combination of bitfields and shifts
--- Comment #4 from pinskia at gcc dot gnu dot org 2009-02-06 21:31 --- Works with: gcc version 4.4.0 20090116 (experimental) [trunk revision 143448] (GCC) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30595
[Bug rtl-optimization/31021] gfortran 20% slower than ifort on CP2K computational kernel
--- Comment #9 from steven at gcc dot gnu dot org 2009-02-06 21:34 --- Confirmed with gcc 4.3. Where do we stand today? -- steven at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2009-02-06 21:34:18 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31021
[Bug target/31109] gcc 3.3 not functioning under Interix 3.5
--- Comment #3 from steven at gcc dot gnu dot org 2009-02-06 21:35 --- GCC 3.3 is not supported anymore. -- steven at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||WONTFIX http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31109
[Bug c++/32350] Very high compile times for template code
--- Comment #3 from steven at gcc dot gnu dot org 2009-02-06 21:39 --- Confirmed with GCC 4.3 (ubuntu). I recently fixed one of the worst bottlenecks in the 'expand' phase, so this may be fixed in GCC 4.4. -- steven at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2009-02-06 21:39:47 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32350
[Bug tree-optimization/32390] tree-ssa-math-opts.c performs too many IL scans
--- Comment #5 from steven at gcc dot gnu dot org 2009-02-06 21:41 --- We have a new candidate: bswap optimization. Diego's idea to do a single scan that calls back to all these transformations on every statement really still sounds like The Right Thing to do. -- steven at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Keywords||compile-time-hog Last reconfirmed|-00-00 00:00:00 |2009-02-06 21:41:34 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32390
[Bug target/32886] c4x: error: unrecognizable insn configuring libgcc
--- Comment #3 from steven at gcc dot gnu dot org 2009-02-06 21:43 --- c4x is no longer supported. -- steven at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||WONTFIX http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32886
[Bug middle-end/33349] Redundant zero-extension of registers
--- Comment #1 from steven at gcc dot gnu dot org 2009-02-06 21:45 --- This would be fixed if someone would fix the Sign Extension Elimination pass (yes, it also handles zero extensions). But that pass is probably broken beyond repair at this point, and likely needs a rewrite instead of just a fix. -- steven at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2009-02-06 21:45:16 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33349
[Bug middle-end/32964] [4.3/4.4 Regression] union cause inefficient code inside loops
--- Comment #13 from jamborm at gcc dot gnu dot org 2009-02-06 21:45 --- Indeed, this testcase is fully scalarized by the new SRA even as it is today. (If you don't know what new SRA I mean, I hope I'll post it to the list as an RFC next week). -- jamborm at gcc dot gnu dot org changed: What|Removed |Added CC||jamborm at gcc dot gnu dot ||org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32964
[Bug target/33524] SSE5 vectorized SI-DI conversions broken
--- Comment #3 from steven at gcc dot gnu dot org 2009-02-06 21:46 --- ping? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33524
[Bug middle-end/35310] Late struct expansion -- missing PRE (2)
--- Comment #1 from steven at gcc dot gnu dot org 2009-02-06 21:52 --- Confirmed. Looks like something for postreload-gcse to handle. Before that, there are no partial redundancies in the RTL (at least, not in the quick look I gave it). -- steven at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2009-02-06 21:52:19 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35310
[Bug middle-end/35305] Speculative PRE support missing
--- Comment #1 from steven at gcc dot gnu dot org 2009-02-06 21:53 --- Could be added to PPRE. -- steven at gcc dot gnu dot org changed: What|Removed |Added CC||dberlin at gcc dot gnu dot ||org Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2009-02-06 21:53:02 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35305
[Bug target/38056] Missed tail calls on ia64
--- Comment #1 from steven at gcc dot gnu dot org 2009-02-06 22:01 --- Confirmed with r143992. The tail call is correctly identified in the .final_cleanup dump, but not expanded to a tail call. -- steven at gcc dot gnu dot org changed: What|Removed |Added CC||hjl dot tools at gmail dot ||com Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2009-02-06 22:01:50 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38056
[Bug tree-optimization/27753] ICE in make_ssa_name on autovect-branch
--- Comment #2 from steven at gcc dot gnu dot org 2009-02-06 22:16 --- Looks like it really was a dup. Can't reproduce it anymore now, anyway. -- steven at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27753
[Bug tree-optimization/27659] ICE on autovect-branch
--- Comment #5 from steven at gcc dot gnu dot org 2009-02-06 22:17 --- Unable to reproduce. Seems to work, even! -- steven at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27659
[Bug inline-asm/39048] gcc 4.4.0 20090131 - Extra underscore hides libgcc's soft-fp functions from Testsuite causing FAILs + naming error in libgcc
--- Comment #7 from rob1weld at aol dot com 2009-02-06 22:29 --- (In reply to comment #6) (In reply to comment #4) Do we support TImode arithmetic on many platforms?, ... I am booted in 32-bit mode (and building multilib). 32bit i386 doesn't support TImode. TImode soft-fp is disabled in libgcc/config/i386/32/t-fprules-softfp. A change in libgcc/conifg.host is needed to correctly filter these functions out on your target. OK. The file libgcc/config.host says this (so I will use it's code): # This file bears an obvious resemblance to gcc/config.gcc. The cases # should be kept similar, to ease moving library-specific settings # from config.gcc to this file. The (patched) section of config.gcc is (now) this: i[34567]86-*-darwin* | x86_64-*-darwin*) tmake_file=${tmake_file} i386/t-fprules-softfp soft-fp/t-softfp ;; i[34567]86-*-linux* | x86_64-*-linux*) tmake_file=${tmake_file} i386/t-fprules-softfp soft-fp/t-softfp i386/t-linux ;; i[34567]86-*-solaris2*) tmake_file=${tmake_file} i386/t-fprules-softfp soft-fp/t-softfp ;; -- Hmmm, Let me check something ... # find /usr/share/src/gcc_trunk/ -name t-fprules-softfp /usr/share/src/gcc_trunk/libgcc/config/i386/32/t-fprules-softfp /usr/share/src/gcc_trunk/gcc/config/i386/t-fprules-softfp /usr/share/src/gcc_trunk/gcc/config/rs6000/t-fprules-softfp The code is broken (or faILs through) in libgcc/conifg.host (since we have no 64 directory): # Provide backward binary compatibility for 64bit Linux/x86. if test ${host_address} = 64; then tmake_file=${tmake_file} i386/${host_address}/t-softfp-compat fi -- I am going to add this to the _end_ of libgcc/config.host : case ${host} in i[34567]86-*-solaris2*) if test ${host_address} = 32; then tmake_file=${tmake_file} t-softfp i386/${host_address}/t-fprules-softfp else tmake_file=${tmake_file} i386/t-fprules-softfp soft-fp/t-softfp ;; fi ;; esac Building now, seems to build without breaking (thus far). I will keep you informed and report back with the Testsuite. Thanks, Rob -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39048
[Bug tree-optimization/32390] tree-ssa-math-opts.c performs too many IL scans
--- Comment #6 from rguenth at gcc dot gnu dot org 2009-02-06 22:29 --- Only they all run at different times during the pass pipeline ;) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32390
[Bug target/38824] [4.4 Regression] performance regression of sse code from 4.2/4.3
--- Comment #13 from dwarak dot rajagopal at amd dot com 2009-02-06 22:35 --- The patch makes GCC to generate movaps load followed by addps. On Core 2 it speeds up the testcase from 7s to 6.2s so I guess it works as expected. The same however does not reproduce on AMD box and I am not sure if it is just coincidence here or if really core preffer to split read-execute SSE operations (it is not recommended by the manual). fyi, AMD (amdfam10) prefers load-execute rather than having separate load and execute instructions. -- dwarak dot rajagopal at amd dot com changed: What|Removed |Added CC||dwarak dot rajagopal at amd ||dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38824
[Bug middle-end/30595] gcc3.4.6 generates incorrect ppc32 code for combination of bitfields and shifts
--- Comment #5 from stevenb dot gcc at gmail dot com 2009-02-06 22:40 --- Subject: Re: gcc3.4.6 generates incorrect ppc32 code for combination of bitfields and shifts Whilst I am not complaining about 3.4 not being supported, I think it is a pretty poor show that you are not able to reproduce it. Did anyone even try? Yes, there actually was a duplicate bug report for this, iirc. We don't do a good communication job in our bug bashing efforts. It is, well, just hard, with so many bugs and so few people who are willing to wade through the long list of bug reports. I'm sorry about that... -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30595
[Bug tree-optimization/32390] tree-ssa-math-opts.c performs too many IL scans
--- Comment #7 from steven at gcc dot gnu dot org 2009-02-06 22:43 --- Then they should be grouped. And kept grouped. Here's one case where there has to be a trade-off between micro-optimizations for specific cases, and compile time for everyone. Please, for once, let us seriously consider this trade-off. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32390
[Bug c/39084] [4.3/4.4 regression] ice on struct redefinition
--- Comment #2 from sje at cup dot hp dot com 2009-02-06 22:46 --- I don't get an ICE on this test case at any optimization level on IA64, PA, or x86. This is with r143978. Perhaps it has been fixed with the patch to another bug? -- sje at cup dot hp dot com changed: What|Removed |Added CC||sje at cup dot hp dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39084
[Bug c/39084] [4.3/4.4 regression] ice on struct redefinition
--- Comment #3 from sje at cup dot hp dot com 2009-02-06 22:48 --- Nevermind, now I got it. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39084
[Bug tree-optimization/32390] tree-ssa-math-opts.c performs too many IL scans
--- Comment #8 from rguenth at gcc dot gnu dot org 2009-02-06 22:51 --- Sure. There's this other problem of testsuite regressions you'll get. I've been there, it takes a _lot_ of time to do even minimal pass re-ordering / removing :( The best strathegy was always to fix deficiencies in passes to not need followup ones or iterating. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32390
[Bug c++/39122] New: C++ mangling change seems to break ABI
Consider this C++ code: templatetypename T class c { public: T* operator-() const; T* p; }; struct s { int v; }; template s* cs::operator-() const { return p; } int fn(cs p) { return p-v; } Compiling this with g++ 4.3 gives me the symbol _ZNK1cI1sEptEv That is the symbol which is called by the function fn. Compiling this with current mainline gives me the symbol _ZNK1cI1sEdtEv Note that the pt changed to a dt. Again, that is the symbol called by the function fn. This seems to me to be an ABI change. It means that if I put the class c in a library compiled with gcc 4.3, and try to link it with the function fn compiled with gcc 4.4, I will get an undefined symbol error. Why did the mangling change? It seems to me that this change should be reverted before gcc 4.4 is released. -- Summary: C++ mangling change seems to break ABI Product: gcc Version: 4.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: ian at airs dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39122
[Bug c++/39122] C++ mangling change seems to break ABI
--- Comment #1 from ian at airs dot com 2009-02-06 23:08 --- *** This bug has been marked as a duplicate of 39095 *** -- ian at airs dot com changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||DUPLICATE http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39122
[Bug c++/39095] [4.4 Regression] Mangling changes break ABI
--- Comment #7 from ian at airs dot com 2009-02-06 23:08 --- *** Bug 39122 has been marked as a duplicate of this bug. *** -- ian at airs dot com changed: What|Removed |Added CC||ian at airs dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39095
[Bug c/35434] [4.2/4.3/4.4 regression] ICE with attribute alias
--- Comment #4 from jsm28 at gcc dot gnu dot org 2009-02-07 00:33 --- Subject: Bug 35434 Author: jsm28 Date: Sat Feb 7 00:32:37 2009 New Revision: 143998 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=143998 Log: PR c/35434 * c-common.c (handle_alias_attribute): Disallow attribute for anything not a FUNCTION_DECL or VAR_DECL. testsuite: * gcc.dg/attr-alias-4.c: New test. Added: trunk/gcc/testsuite/gcc.dg/attr-alias-4.c Modified: trunk/gcc/ChangeLog trunk/gcc/c-common.c trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35434
[Bug c++/37737] [c++0x] ICE in get_innermost_template_args at cp/pt.c:516 during variadic function overload deduction
--- Comment #10 from paolo at gcc dot gnu dot org 2009-02-07 02:05 --- Subject: Bug 37737 Author: paolo Date: Sat Feb 7 02:05:04 2009 New Revision: 144001 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=144001 Log: /cp 2009-02-06 Paolo Carlini paolo.carl...@oracle.com PR c++/35147 PR c++/37737 * cp-tree.h (TMPL_ARGS_HAVE_MULTIPLE_LEVELS): Check TREE_VEC_LENGTH. /testsuite 2009-02-06 Paolo Carlini paolo.carl...@oracle.com PR c++/35147 PR c++/37737 * g++.dg/cpp0x/vt-35147.C: New. * g++.dg/cpp0x/vt-37737-1.C: Likewise. * g++.dg/cpp0x/vt-37737-2.C: Likewise. Added: trunk/gcc/testsuite/g++.dg/cpp0x/vt-35147.C trunk/gcc/testsuite/g++.dg/cpp0x/vt-37737-1.C trunk/gcc/testsuite/g++.dg/cpp0x/vt-37737-2.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/cp-tree.h trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37737
[Bug c++/35147] ICE trying to expand an argument pack with zero arguments
--- Comment #4 from paolo at gcc dot gnu dot org 2009-02-07 02:05 --- Subject: Bug 35147 Author: paolo Date: Sat Feb 7 02:05:04 2009 New Revision: 144001 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=144001 Log: /cp 2009-02-06 Paolo Carlini paolo.carl...@oracle.com PR c++/35147 PR c++/37737 * cp-tree.h (TMPL_ARGS_HAVE_MULTIPLE_LEVELS): Check TREE_VEC_LENGTH. /testsuite 2009-02-06 Paolo Carlini paolo.carl...@oracle.com PR c++/35147 PR c++/37737 * g++.dg/cpp0x/vt-35147.C: New. * g++.dg/cpp0x/vt-37737-1.C: Likewise. * g++.dg/cpp0x/vt-37737-2.C: Likewise. Added: trunk/gcc/testsuite/g++.dg/cpp0x/vt-35147.C trunk/gcc/testsuite/g++.dg/cpp0x/vt-37737-1.C trunk/gcc/testsuite/g++.dg/cpp0x/vt-37737-2.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/cp-tree.h trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35147
[Bug c++/37737] [c++0x] ICE in get_innermost_template_args at cp/pt.c:516 during variadic function overload deduction
--- Comment #11 from paolo dot carlini at oracle dot com 2009-02-07 02:08 --- Fixed for 4.4.0. -- paolo dot carlini at oracle dot com changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED Target Milestone|--- |4.4.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37737
[Bug c++/35147] ICE trying to expand an argument pack with zero arguments
--- Comment #5 from paolo dot carlini at oracle dot com 2009-02-07 02:08 --- Fixed for 4.4.0. -- paolo dot carlini at oracle dot com changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35147
[Bug inline-asm/39048] gcc 4.4.0 20090131 - Extra underscore hides libgcc's soft-fp functions from Testsuite causing FAILs + naming error in libgcc
--- Comment #8 from rob1weld at aol dot com 2009-02-07 04:21 --- Here is: gcc 4.4.0 20090206 [trunk revision 143992] ./configured with: ../gcc_trunk/configure --enable-languages=ada,c,c++,fortran,java,objc,obj-c++ --enable-shared --disable-static --enable-multilib --enable-decimal-float --with-long-double-128 --with-included-gettext --enable-stage1-checking --enable-checking=release --with-tune=k8 --with-cpu=k8 --with-arch=k8 --with-gnu-as --with-as=/usr/local/bin/as --without-gnu-ld --with-ld=/usr/ccs/bin/ld (Notes: This error no longer occurs when I use your patch, my fix, a different revision, and a different Linker. It is _likely_ that the error is also fixed for the revision reported (with GNU's Linker). I needed to switch back to Sun's Linker to compile some Sun code that I must work on the next few days. # gedit gcc/testsuite/gcc.log ... PASS: gcc.dg/torture/fp-int-convert-float.c -Os execution test UNSUPPORTED: gcc.dg/torture/fp-int-convert-float128-timode.c -O0 UNSUPPORTED: gcc.dg/torture/fp-int-convert-float128-timode.c -O1 UNSUPPORTED: gcc.dg/torture/fp-int-convert-float128-timode.c -O2 UNSUPPORTED: gcc.dg/torture/fp-int-convert-float128-timode.c -O3 -fomit-frame-pointer UNSUPPORTED: gcc.dg/torture/fp-int-convert-float128-timode.c -O3 -g UNSUPPORTED: gcc.dg/torture/fp-int-convert-float128-timode.c -Os Executing on host: /usr/share/src/gcc_build/gcc/xgcc -B/usr/share/src/gcc_build/gcc/ /usr/share/... PASS: gcc.dg/torture/fp-int-convert-float128.c -O0 (test for excess errors) Setting LD_LIBRARY_PATH to :/usr/share/src/gcc_build/gcc:/usr/share/src/gcc_build/gcc/amd64::/usr/share/... PASS: gcc.dg/torture/fp-int-convert-float128.c -O0 execution test Executing on host: /usr/share/src/gcc_build/gcc/xgcc -B/usr/share/src/gcc_build/gcc/ /usr/share/... PASS: gcc.dg/torture/fp-int-convert-float128.c -O1 (test for excess errors) Setting LD_LIBRARY_PATH to :/usr/share/src/gcc_build/gcc:/usr/share/src/gcc_build/gcc/amd64::/usr/share/... PASS: gcc.dg/torture/fp-int-convert-float128.c -O1 execution test Executing on host: /usr/share/src/gcc_build/gcc/xgcc -B/usr/share/src/gcc_build/gcc/ /usr/share/... PASS: gcc.dg/torture/fp-int-convert-float128.c -O2 (test for excess errors) Setting LD_LIBRARY_PATH to :/usr/share/src/gcc_build/gcc:/usr/share/src/gcc_build/gcc/amd64::/usr/share/... PASS: gcc.dg/torture/fp-int-convert-float128.c -O2 execution test Executing on host: /usr/share/src/gcc_build/gcc/xgcc -B/usr/share/src/gcc_build/gcc/ /usr/share/... PASS: gcc.dg/torture/fp-int-convert-float128.c -O3 -fomit-frame-pointer (test for excess errors) Setting LD_LIBRARY_PATH to :/usr/share/src/gcc_build/gcc:/usr/share/src/gcc_build/gcc/amd64::/usr/share/... PASS: gcc.dg/torture/fp-int-convert-float128.c -O3 -fomit-frame-pointer execution test Executing on host: /usr/share/src/gcc_build/gcc/xgcc -B/usr/share/src/gcc_build/gcc/ /usr/share/... PASS: gcc.dg/torture/fp-int-convert-float128.c -O3 -g (test for excess errors) Setting LD_LIBRARY_PATH to :/usr/share/src/gcc_build/gcc:/usr/share/src/gcc_build/gcc/amd64::/usr/share/... PASS: gcc.dg/torture/fp-int-convert-float128.c -O3 -g execution test Executing on host: /usr/share/src/gcc_build/gcc/xgcc -B/usr/share/src/gcc_build/gcc/ /usr/share/... PASS: gcc.dg/torture/fp-int-convert-float128.c -Os (test for excess errors) Setting LD_LIBRARY_PATH to :/usr/share/src/gcc_build/gcc:/usr/share/src/gcc_build/gcc/amd64::/usr/share/... PASS: gcc.dg/torture/fp-int-convert-float128.c -Os execution test ... I searched gcc.log for the words undefined reference and they no longer occur. This patch is tested for i386-pc-solaris2.11 (OpenSolaris 2008.11 snv_101b) when booted in 32-bit mode (on VirtualBox, on WinXP) using gcc revision 143992 using Sun's Linker (and GNU assembler version 2.19). After this patch is tested, approved, applied to trunk, and re-tested, then this Bug will be fixed. We all thank us for our help, Rob -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39048