[Bug tree-optimization/35639] [4.3/4.4 Regression] -fprofile-generate = huge SCCs for PRE

2009-02-06 Thread bonzini at gnu dot org


--- 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.

2009-02-06 Thread bonzini at gnu dot org


--- 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

2009-02-06 Thread bonzini at gnu dot org


--- 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

2009-02-06 Thread rguenth at gcc dot gnu dot org


--- 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

2009-02-06 Thread rguenth at gcc dot gnu dot org


--- 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

2009-02-06 Thread bonzini at gnu dot org


--- 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

2009-02-06 Thread rguenth at gcc dot gnu dot org


--- 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

2009-02-06 Thread jakub at gcc dot gnu dot org


--- 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

2009-02-06 Thread rguenth at gcc dot gnu dot org


--- 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

2009-02-06 Thread bonzini at gnu dot org


--- 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) ?

2009-02-06 Thread ubizjak at gmail dot com


--- 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

2009-02-06 Thread paolo dot carlini at oracle dot com


--- 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 !)

2009-02-06 Thread rguenth at gcc dot gnu dot org


--- 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)

2009-02-06 Thread rob1weld at aol dot com


--- 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

2009-02-06 Thread pault at gcc dot gnu dot org


--- 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

2009-02-06 Thread ubizjak at gmail dot com


--- 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

2009-02-06 Thread rob1weld at aol dot com


--- 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

2009-02-06 Thread ian at airs dot com


--- 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

2009-02-06 Thread hjl dot tools at gmail dot com


--- 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

2009-02-06 Thread rob1weld at aol dot com


--- 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

2009-02-06 Thread ubizjak at gmail dot com


--- 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

2009-02-06 Thread ubizjak at gmail dot com


--- 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

2009-02-06 Thread hjl dot tools at gmail dot com
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

2009-02-06 Thread hjl dot tools at gmail dot com


--- 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

2009-02-06 Thread jsm28 at gcc dot gnu dot org


--- 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

2009-02-06 Thread manu at gcc dot gnu dot org


--- 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 !)

2009-02-06 Thread rguenth at gcc dot gnu dot org


--- 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

2009-02-06 Thread paolo dot carlini at oracle dot com


--- 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) ?

2009-02-06 Thread jakub at gcc dot gnu dot org


--- 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

2009-02-06 Thread jakub at gcc dot gnu dot org


--- 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

2009-02-06 Thread rosenhauer at dkrz dot de


--- 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

2009-02-06 Thread ubizjak at gmail dot com


--- 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 !)

2009-02-06 Thread steven at gcc dot gnu dot org


--- 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

2009-02-06 Thread jakub at gcc dot gnu dot org


--- 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

2009-02-06 Thread ubizjak at gmail dot com


--- 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

2009-02-06 Thread jakub at gcc dot gnu dot org


--- 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

2009-02-06 Thread hjl dot tools at gmail dot com


--- 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

2009-02-06 Thread hubicka at gcc dot gnu dot org


--- 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

2009-02-06 Thread hubicka at gcc dot gnu dot org


--- 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

2009-02-06 Thread fabrice at mocana dot com


--- 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

2009-02-06 Thread ian at airs dot com


--- 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 !)

2009-02-06 Thread steven at gcc dot gnu dot org


--- 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

2009-02-06 Thread rguenth at gcc dot gnu dot org
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

2009-02-06 Thread rguenth at gcc dot gnu dot org


--- 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

2009-02-06 Thread mark at codesourcery dot com


--- 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

2009-02-06 Thread hjl dot tools at gmail dot com


--- 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

2009-02-06 Thread janis at gcc dot gnu dot org


--- 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

2009-02-06 Thread mark at codesourcery dot com


--- 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

2009-02-06 Thread janis at gcc dot gnu dot org


--- 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.

2009-02-06 Thread nospam at pamies dot cat
#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

2009-02-06 Thread pinskia at gcc dot gnu dot org


--- 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

2009-02-06 Thread pinskia at gcc dot gnu dot org


--- 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

2009-02-06 Thread jsm28 at gcc dot gnu dot org


--- 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

2009-02-06 Thread jsm28 at gcc dot gnu dot org


--- 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

2009-02-06 Thread jsm28 at gcc dot gnu dot org


--- 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.

2009-02-06 Thread steven at gcc dot gnu dot org


--- 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

2009-02-06 Thread janis at gcc dot gnu dot org


--- 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

2009-02-06 Thread steven at gcc dot gnu dot org


--- 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

2009-02-06 Thread steven at gcc dot gnu dot org


--- 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

2009-02-06 Thread steven at gcc dot gnu dot org


--- 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

2009-02-06 Thread nospam at pamies dot cat


--- 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

2009-02-06 Thread steven at gcc dot gnu dot org


--- 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

2009-02-06 Thread steven at gcc dot gnu dot org


--- 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

2009-02-06 Thread steven at gcc dot gnu dot org


--- 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

2009-02-06 Thread rguenth at gcc dot gnu dot org


--- 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

2009-02-06 Thread rguenth at gcc dot gnu dot org


--- 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

2009-02-06 Thread ISPARRY at BROCADE dot COM


--- 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

2009-02-06 Thread kamaraju at gmail dot com


--- 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

2009-02-06 Thread kamaraju at gmail dot com


--- 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

2009-02-06 Thread pinskia at gcc dot gnu dot org


--- 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

2009-02-06 Thread steven at gcc dot gnu dot org


--- 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

2009-02-06 Thread steven at gcc dot gnu dot org


--- 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

2009-02-06 Thread steven at gcc dot gnu dot org


--- 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

2009-02-06 Thread steven at gcc dot gnu dot org


--- 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

2009-02-06 Thread steven at gcc dot gnu dot org


--- 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

2009-02-06 Thread steven at gcc dot gnu dot org


--- 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

2009-02-06 Thread jamborm at gcc dot gnu dot org


--- 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

2009-02-06 Thread steven at gcc dot gnu dot org


--- 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)

2009-02-06 Thread steven at gcc dot gnu dot org


--- 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

2009-02-06 Thread steven at gcc dot gnu dot org


--- 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

2009-02-06 Thread steven at gcc dot gnu dot org


--- 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

2009-02-06 Thread steven at gcc dot gnu dot org


--- 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

2009-02-06 Thread steven at gcc dot gnu dot org


--- 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

2009-02-06 Thread rob1weld at aol dot com


--- 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

2009-02-06 Thread rguenth at gcc dot gnu dot org


--- 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

2009-02-06 Thread dwarak dot rajagopal at amd dot com


--- 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

2009-02-06 Thread stevenb dot gcc at gmail dot com


--- 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

2009-02-06 Thread steven at gcc dot gnu dot org


--- 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

2009-02-06 Thread sje at cup dot hp dot com


--- 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

2009-02-06 Thread sje at cup dot hp dot com


--- 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

2009-02-06 Thread rguenth at gcc dot gnu dot org


--- 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

2009-02-06 Thread ian at airs dot com
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

2009-02-06 Thread ian at airs dot com


--- 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

2009-02-06 Thread ian at airs dot com


--- 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

2009-02-06 Thread jsm28 at gcc dot gnu dot org


--- 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

2009-02-06 Thread paolo at gcc dot gnu dot org


--- 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

2009-02-06 Thread paolo at gcc dot gnu dot org


--- 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

2009-02-06 Thread paolo dot carlini at oracle dot com


--- 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

2009-02-06 Thread paolo dot carlini at oracle dot com


--- 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

2009-02-06 Thread rob1weld at aol dot com


--- 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



  1   2   >