[Bug libgcj/38298] libjava link failures.

2009-09-27 Thread rwild at gcc dot gnu dot org


--- Comment #10 from rwild at gcc dot gnu dot org  2009-09-27 06:49 ---
Subject: Bug 38298

Author: rwild
Date: Sun Sep 27 06:49:33 2009
New Revision: 152215

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=152215
Log:
Fix library dependencies for -Wl,--as-needed.

gcc/:
PR bootstrap/40928
* configure.ac: Use $LIBS for '-ldl', not $LDFLAGS.
* configure: Regenerate.

libjava/:
PR libgcj/38298
* Makefile.am (libgcj_tools_la_LIBADD): Add '-lm'.
* Makefile.in: Regenerate.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/configure
trunk/gcc/configure.ac
trunk/libjava/ChangeLog
trunk/libjava/Makefile.am
trunk/libjava/Makefile.in


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38298



[Bug bootstrap/40928] build failure w/ -Wl,--as-needed - undefined references in plugin.c

2009-09-27 Thread rwild at gcc dot gnu dot org


--- Comment #1 from rwild at gcc dot gnu dot org  2009-09-27 06:49 ---
Subject: Bug 40928

Author: rwild
Date: Sun Sep 27 06:49:33 2009
New Revision: 152215

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=152215
Log:
Fix library dependencies for -Wl,--as-needed.

gcc/:
PR bootstrap/40928
* configure.ac: Use $LIBS for '-ldl', not $LDFLAGS.
* configure: Regenerate.

libjava/:
PR libgcj/38298
* Makefile.am (libgcj_tools_la_LIBADD): Add '-lm'.
* Makefile.in: Regenerate.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/configure
trunk/gcc/configure.ac
trunk/libjava/ChangeLog
trunk/libjava/Makefile.am
trunk/libjava/Makefile.in


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40928



[Bug bootstrap/40928] build failure w/ -Wl,--as-needed - undefined references in plugin.c

2009-09-27 Thread rwild at gcc dot gnu dot org


--- Comment #2 from rwild at gcc dot gnu dot org  2009-09-27 06:53 ---
Fixed


-- 

rwild at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||rwild at gcc dot gnu dot org
 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40928



[Bug libgcj/38298] libjava link failures.

2009-09-27 Thread rwild at gcc dot gnu dot org


--- Comment #11 from rwild at gcc dot gnu dot org  2009-09-27 06:56 ---
Fixed in trunk.


-- 

rwild at gcc dot gnu dot org changed:

   What|Removed |Added

  Known to work|4.3.2   |4.3.2 4.5.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38298



[Bug c++/41480] New: std::map.erase on cygwin

2009-09-27 Thread lifelong830114 at gmail dot com
The program goto endless loops when run erase() in a for loop,as fallows:

#include map
#include stdio.h
std::mapint , int mymap;
int main() {
 mymap[2] =3 ;
 mymap[1] = 4;
 printf(**test map.erase*\n);
 std::mapint,int::iterator it;
 it = mymap.begin(); 
 for (; it != mymap.end() ; it++)  {
   mymap.erase((*it).first);
 }
 return 0; 
}

I have try to delete the line printf(**test
map.erase*\n);,then it worked correctly!

The configure string is :
./configure --prefix=/usr/local/gcc-4.2.0 --program-suffix=-420
--enable-language=c,c++


-- 
   Summary: std::map.erase on cygwin
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: lifelong830114 at gmail dot com
 GCC build triplet: i686-pc-cygwin
  GCC host triplet: i686-pc-cygwin
GCC target triplet: i686-pc-cygwin


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41480



[Bug tree-optimization/41464] vector loads are unnecessarily split into high and low loads

2009-09-27 Thread irar at il dot ibm dot com


--- Comment #4 from irar at il dot ibm dot com  2009-09-27 08:06 ---
(In reply to comment #1)
 The interesting thing is that data-ref analysis sees 128bit alignment but
 the vectorizer still produces
   vect_var_.24_59 = M*vect_p.20_57{misalignment: 0};
   D.2564_12 = *D.2563_11;
   vect_var_.25_61 = vect_var_.24_59 * vect_cst_.26_60;
   D.2565_13 = D.2564_12 * 2.299523162841796875e+0;
   M*vect_p.27_64{misalignment: 0} = vect_var_.25_61;
 thus, unknown misalignment.
 (instantiate_scev
   (instantiate_below = 3)
   (evolution_loop = 1)
   (chrec = {i_10(D), +, 4}_1)
   (res = {i_10(D), +, 4}_1))
 base_address: i_10(D)
 offset from base address: 0
 constant offset from base address: 0
 step: 4
 aligned to: 128
 base_object: *i_10(D)
 Creating dr for *D.2562_7
   (res = {f_6(D), +, 4}_1))
 base_address: f_6(D)
 offset from base address: 0
 constant offset from base address: 0
 step: 4
 aligned to: 128
 base_object: *f_6(D)
 t2.i:5: note: === vect_enhance_data_refs_alignment ===
 t2.i:5: note: Vectorizing an unaligned access.
 t2.i:5: note: Vectorizing an unaligned access.

aligned to refers to the offset misalignment and not to the misalignment of
base.
attribute aligned works only for arrays, i.e., declarations, and not for
pointer arguments. For pointers the vectorizer only checks TYPE_ALIGN_UNIT of
the base type.

Ira


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41464



[Bug rtl-optimization/40838] gcc shouldn't assume that the stack is aligned

2009-09-27 Thread mikulas at artax dot karlin dot mff dot cuni dot cz


--- Comment #54 from mikulas at artax dot karlin dot mff dot cuni dot cz  
2009-09-27 09:03 ---
(In reply to comment #51)

For 4.4, the designers held two wrong assumptions:

1) the incoming stack is always aligned on -mincoming-stack-boundary (wrong for
functions called from assembler or code generated by other compilers).

2) all the variables must be aligned on their alignment (wrong for double, long
double, long long, mmx: the processor may accept them misaligned).

The assumption 1) generates crashing code (for example Seamonkey). The
assumption 2) generates suboptimal code (bug #40667).

The assumption 1) can be trivially quashed with parameter
-mincoming-stack-boundary=2, then the code will be non-crashing, but you will
be hitting problem 2) and the code will be ugly and slow: any function
containing double or long double variable will generate code for stack
realigning and a frame pointer. (for long long this inefficiency was partially
fixed in 4.4.1, but only partially, single long long variables don't trigger
the alignment after 4.4.1 but structures with long long do, see bug #40667).

So: to fix problem 1), gcc should assume that the incoming stack is 4-byte
aligned. To fix problem 2), instead of single alignment, types and variables
should have two alignments: preferred alignment and enforced alignment (so that
you don't realign the stack if there is double on it, but you realign it if
there is 16-byte SSE).


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40838



[Bug rtl-optimization/40838] gcc shouldn't assume that the stack is aligned

2009-09-27 Thread mikulas at artax dot karlin dot mff dot cuni dot cz


--- Comment #55 from mikulas at artax dot karlin dot mff dot cuni dot cz  
2009-09-27 09:07 ---
If we assume incoming stack is 4byte aligned, we have to realign stack for
every function due to #2, which isn't acceptable.

No, you don't. All you have to do is to allocate the stack frame that is
multiple of 16 bytes (gcc does that already).


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40838



[Bug target/41481] New: missed optimization in cse

2009-09-27 Thread carrot at google dot com
Compile following code with options -Os -march=armv5te -mthumb,

class A
{
 public:
  int ah;
  unsigned field : 2;
};

void foo(A* p)
{
  p-ah = 1;
  p-field = 1;
}

We can get:

mov r3, #1 // A
str r3, [r0]
ldrbr3, [r0, #4]
mov r2, #3
bic r3, r3, r2
mov r2, #1 // B
orr r3, r3, r2
strbr3, [r0, #4]
@ sp needed for prologue
bx  lr

Both instruction A and B load a constant 1 into register. We can load 1 into r1
in instruction A and use r1 when constant 1 is required. So instruction B can
be removed.

cse pass doesn't find this opportunity is because it needs all expressions to
be of the same mode. But in rtl level the first 1 is in mode SI and the second
1 is in mode QI. Arm doesn't has any physical register of QI mode, so all of
them are put into 32 bit physical register and causes redundant load of
constant 1.


-- 
   Summary: missed optimization in cse
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: carrot at google dot com
 GCC build triplet: i686-linux
  GCC host triplet: i686-linux
GCC target triplet: arm-eabi


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41481



[Bug target/41481] missed optimization in cse

2009-09-27 Thread carrot at google dot com


--- Comment #1 from carrot at google dot com  2009-09-27 09:13 ---
Created an attachment (id=18662)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18662action=view)
test case


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41481



[Bug target/32187] Complex __float128 is rejected

2009-09-27 Thread ktietz at gcc dot gnu dot org


--- Comment #7 from ktietz at gcc dot gnu dot org  2009-09-27 09:25 ---
The new attribute basetype_mode (see
http://gcc.gnu.org/ml/gcc-patches/2009-09/msg01907.html for patch) could
provide a way to solve this, as it makes sure that it is associated to the base
type, instead of the current type declaration as mode attribute does.

by defining __float128 as '#define __float128 float __attribute__
((basetype_mode(DF)))'

Constructs like '__complex__ DFtype z;' getting handled proper, too.

Maybe this is a way to solve this issue.

Kai


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32187



[Bug target/32187] Complex __float128 is rejected

2009-09-27 Thread ktietz at gcc dot gnu dot org


--- Comment #8 from ktietz at gcc dot gnu dot org  2009-09-27 09:28 ---
(In reply to comment #7)
 The new attribute basetype_mode (see
 http://gcc.gnu.org/ml/gcc-patches/2009-09/msg01907.html for patch) could
 provide a way to solve this, as it makes sure that it is associated to the 
 base
 type, instead of the current type declaration as mode attribute does.
 
 by defining __float128 as '#define __float128 float __attribute__
 ((basetype_mode(DF)))'
 
 Constructs like '__complex__ DFtype z;' getting handled proper, too.
Err, I meant here of course '__complex__ __float128 z;'

 Maybe this is a way to solve this issue.
 
 Kai
 


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32187



[Bug rtl-optimization/40838] gcc shouldn't assume that the stack is aligned

2009-09-27 Thread mikulas at artax dot karlin dot mff dot cuni dot cz


--- Comment #56 from mikulas at artax dot karlin dot mff dot cuni dot cz  
2009-09-27 09:36 ---
As for this old code that assumes 16-byte alignment: this is wrong code
generated by old versions of gcc. It only works as long as it is called from
other gcc = 3 code (call it from gcc  3, icc or assembler and it crashes). So
you don't have to realign the stack to make sure that the code works always (it
doesn't, anyway). All you have to do with this old code is to make sure that
you don't make things worse --- i.e. if it worked before, it should continue
work after redesign. So all you need is to make a stack frame having a multiple
of 16-bytes. No realign needed.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40838



[Bug tree-optimization/41464] vector loads are unnecessarily split into high and low loads

2009-09-27 Thread rguenther at suse dot de


--- Comment #5 from rguenther at suse dot de  2009-09-27 09:43 ---
Subject: Re:  vector loads are unnecessarily
 split into high and low loads

On Sun, 27 Sep 2009, irar at il dot ibm dot com wrote:

 --- Comment #4 from irar at il dot ibm dot com  2009-09-27 08:06 ---
 (In reply to comment #1)
  The interesting thing is that data-ref analysis sees 128bit alignment but
  the vectorizer still produces
vect_var_.24_59 = M*vect_p.20_57{misalignment: 0};
D.2564_12 = *D.2563_11;
vect_var_.25_61 = vect_var_.24_59 * vect_cst_.26_60;
D.2565_13 = D.2564_12 * 2.299523162841796875e+0;
M*vect_p.27_64{misalignment: 0} = vect_var_.25_61;
  thus, unknown misalignment.
  (instantiate_scev
(instantiate_below = 3)
(evolution_loop = 1)
(chrec = {i_10(D), +, 4}_1)
(res = {i_10(D), +, 4}_1))
  base_address: i_10(D)
  offset from base address: 0
  constant offset from base address: 0
  step: 4
  aligned to: 128
  base_object: *i_10(D)
  Creating dr for *D.2562_7
(res = {f_6(D), +, 4}_1))
  base_address: f_6(D)
  offset from base address: 0
  constant offset from base address: 0
  step: 4
  aligned to: 128
  base_object: *f_6(D)
  t2.i:5: note: === vect_enhance_data_refs_alignment ===
  t2.i:5: note: Vectorizing an unaligned access.
  t2.i:5: note: Vectorizing an unaligned access.
 
 aligned to refers to the offset misalignment and not to the misalignment of
 base.

Hmm, I believe it refers to base + offset + constant offset.

 attribute aligned works only for arrays, i.e., declarations, and not for
 pointer arguments.

I have to check that - I believe that in principle it should work.

 For pointers the vectorizer only checks TYPE_ALIGN_UNIT of
 the base type.

That should be ok.  I guess I have to see what's going on here.

Richard.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41464



[Bug middle-end/41475] common variables cannot be expected to be aligned

2009-09-27 Thread mikulas at artax dot karlin dot mff dot cuni dot cz


--- Comment #9 from mikulas at artax dot karlin dot mff dot cuni dot cz  
2009-09-27 09:51 ---
The common linker definitions were made to exactly to make code like this work
and share the array between two object.

So if you think it is undefined, don't support it (make -fno-common default and
remove -fcommon at all). Or, if you want to support it, support it correctly.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41475



[Bug tree-optimization/41464] vector loads are unnecessarily split into high and low loads

2009-09-27 Thread irar at il dot ibm dot com


--- Comment #6 from irar at il dot ibm dot com  2009-09-27 09:56 ---
(In reply to comment #5)
  
  aligned to refers to the offset misalignment and not to the misalignment 
  of
  base.
 Hmm, I believe it refers to base + offset + constant offset.
tree-data-refs.h:
  /* Alignment information.  ALIGNED_TO is set to the largest power of two
 that divides OFFSET.  */
  tree aligned_to;

tree-dat-refs.c:
DR_ALIGNED_TO (dr) = size_int (highest_pow2_factor (offset_iv.base));


  attribute aligned works only for arrays, i.e., declarations, and not for
  pointer arguments.
 I have to check that - I believe that in principle it should work.
  For pointers the vectorizer only checks TYPE_ALIGN_UNIT of
  the base type.
 That should be ok.  

But we need TYPE_ALIGN_UNIT to be 16, and we are checking scalar type here, so
without user defined alignment it will be 4.

Ira

 I guess I have to see what's going on here.
 Richard.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41464



[Bug target/41211] internal compiler error when using x86_64-w64-mingw32-gcc to build sqlite3 alter.c

2009-09-27 Thread ktietz at gcc dot gnu dot org


--- Comment #10 from ktietz at gcc dot gnu dot org  2009-09-27 09:59 ---
Closed this bug. As it is solved. At least provide testcase doesn't ice with
native gcc for w64 anymore.


-- 

ktietz at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41211



[Bug fortran/41478] function pack causes double free violation

2009-09-27 Thread dominiq at lps dot ens dot fr


--- Comment #4 from dominiq at lps dot ens dot fr  2009-09-27 09:59 ---
I also see it on *-apple-darwin9 gcc 4.2.4, 4.3.4, 4.4.1, and trunk.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41478



[Bug other/41234] Configure fails to find non-existent g++ preprocessor flag with syntax errors

2009-09-27 Thread ktietz at gcc dot gnu dot org


--- Comment #4 from ktietz at gcc dot gnu dot org  2009-09-27 10:03 ---
I tested given scenario and g++ could find the headers in Stage 2 (using msys
make). So this seems to be a configure/environment setup issue, if it still
exists for you.


-- 

ktietz at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||WORKSFORME


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41234



[Bug fortran/41479] wrong code, mis-initialization

2009-09-27 Thread dominiq at lps dot ens dot fr


--- Comment #4 from dominiq at lps dot ens dot fr  2009-09-27 10:04 ---
 Regarding the intent(out) issue.  I will defer to others.

If the issue is valid, this a [4.3/4.4/4.5 Regression]. On *-apple-darwin9 GCC
4.2.4 gives:

[ibook-dhum] f90/bug% gfc42 pr41479.f90
[ibook-dhum] f90/bug% a.out 
 Initial state:
   value = 0
 Modified state:
   value = 1
 Initial state again:
   value = 0


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41479



[Bug bootstrap/41245] [4.5 Regression] Bootstrap broken on I386-apple-darwin9 at revision 151373

2009-09-27 Thread fxcoudert at gcc dot gnu dot org


--- Comment #21 from fxcoudert at gcc dot gnu dot org  2009-09-27 10:10 
---
Fixed.


-- 

fxcoudert at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41245



[Bug c++/41480] std::map.erase on cygwin

2009-09-27 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2009-09-27 10:28 ---
GCC 4.2 is no longer maintained.  It works for me with GCC 4.2.4 on i?86-linux.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||WORKSFORME


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41480



[Bug fortran/41478] function pack causes double free violation

2009-09-27 Thread rguenth at gcc dot gnu dot org


--- Comment #5 from rguenth at gcc dot gnu dot org  2009-09-27 10:36 ---
Confirmed on i?86-linux.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

  GCC build triplet|i386-32bit, MAC OS X Leopard|
   GCC host triplet|i386-32bit, MAC OS X Leopard|
 GCC target triplet|i386-32bit, MAC OS X Leopard|


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41478



[Bug bootstrap/41473] [4.5 Regression] dsymutil Assertion failed ... since revision 151907

2009-09-27 Thread dominiq at lps dot ens dot fr


--- Comment #4 from dominiq at lps dot ens dot fr  2009-09-27 11:44 ---
Running valgrind I got:

--77271-- /Volumes/MacBook/opt/gcc/gcc4.5w/lib/libgfortran.3.dylib:
--77271-- dSYM directory has wrong UUID; consider using --auto-run-dsymutil=yes
--77271-- /Volumes/MacBook/opt/gcc/gcc4.5w/lib/libgcc_s.1.dylib:
--77271-- dSYM directory has wrong UUID; consider using --auto-run-dsymutil=yes

So I rerun valgrind with --auto-run-dsymutil=yes and got:

--77275-- run: /usr/bin/dsymutil
/Volumes/MacBook/opt/gcc/gcc4.5w/lib/libgfortran.3.dylib
--77275-- run: /usr/bin/dsymutil
/Volumes/MacBook/opt/gcc/gcc4.5w/lib/libgcc_s.1.dylib

without error or warning.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41473



[Bug fortran/41478] function pack causes double free violation

2009-09-27 Thread dominiq at lps dot ens dot fr


--- Comment #6 from dominiq at lps dot ens dot fr  2009-09-27 11:45 ---
 Works for me on FreeBSD.

Is anyone understanding why?

valgrind gives:

==77290== Invalid free() / delete / delete[]
==77290==at 0x167FB: free (vg_replace_malloc.c:323)
==77290==by 0x2EAE: MAIN__ (in ./pr41478.ex)
==77290==by 0x2F0F: main (in ./pr41478.ex)
==77290==  Address 0x3e15c0 is 0 bytes inside a block of size 4 free'd
==77290==at 0x167FB: free (vg_replace_malloc.c:323)
==77290==by 0x2E53: MAIN__ (in ./pr41478.ex)
==77290==by 0x2F0F: main (in ./pr41478.ex)
==77290== 
==77290== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
==77290== malloc/free: in use at exit: 448 bytes in 11 blocks.
==77290== malloc/free: 30 allocs, 20 frees, 3,482 bytes allocated.
==77290== For counts of detected errors, rerun with: -v
==77290== searching for pointers to 11 not-freed blocks.
==77290== checked 833,028 bytes.
==77290== 
==77290== 
==77290== 4 bytes in 1 blocks are definitely lost in loss record 1 of 4
==77290==at 0x15516: malloc (vg_replace_malloc.c:193)
==77290==by 0x257B: MAIN__ (in ./pr41478.ex)
==77290==by 0x2F0F: main (in ./pr41478.ex)
==77290== 
==77290== LEAK SUMMARY:
==77290==definitely lost: 4 bytes in 1 blocks.
==77290==indirectly lost: 0 bytes in 0 blocks.
==77290==  possibly lost: 0 bytes in 0 blocks.
==77290==still reachable: 444 bytes in 10 blocks.
==77290== suppressed: 0 bytes in 0 blocks.
==77290== Reachable blocks (those to which a pointer was found) are not shown.
==77290== To see them, rerun with: --leak-check=full --show-reachable=yes


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41478



[Bug target/41473] [4.5 Regression] dsymutil Assertion failed ...

2009-09-27 Thread rguenth at gcc dot gnu dot org


--- Comment #5 from rguenth at gcc dot gnu dot org  2009-09-27 12:27 ---
Target issue.  r151907 is not the revision that caused this.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

  Component|bootstrap   |target
   Keywords||build
Summary|[4.5 Regression] dsymutil   |[4.5 Regression] dsymutil
   |Assertion failed ... since|Assertion failed ...
   |revision 151907 |
   Target Milestone|--- |4.5.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41473



[Bug target/41473] [4.5 Regression] dsymutil Assertion failed ...

2009-09-27 Thread rguenth at gcc dot gnu dot org


--- Comment #6 from rguenth at gcc dot gnu dot org  2009-09-27 12:32 ---
Simple googling leads me to

http://wiki.dwarfstd.org/index.php?title=Apple's_Lazy_DWARF_Scheme

which in turn makes me think a recent libtool update may be the
real cause of this, making this a libtool bug, not a gcc bug.

 19259 - libtool: link: dsymutil .libs/libstdc++.6.dylib || :
 19260 : Assertion failed: (orig_str), function FixReferences, file
 /SourceCache/dwarf_utilities/dwarf_utilities-70/source/DWARFdSYM.cpp, line
 3641.
 19261 + ../libtool: line 7996: 53016 Abort trap  dsymutil
 .libs/libstdc++.6.dylib

look how libtool invokes dsymutil here which in turn might get confused
by the dwarf from gcc 4.5 and leaves behind a state that in turn causes
dSYM directory has wrong UUID.  So in the end this is very likely still
a dsymutil bug - no user program should run into assertions anyway.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41473



[Bug bootstrap/41395] [4.5 regression] Revision 151800 failed bootstrap

2009-09-27 Thread ubizjak at gmail dot com


--- Comment #34 from ubizjak at gmail dot com  2009-09-27 12:35 ---
It is tree.o object of stage2 gcc that gets miscompiled when -fipa-sra is added
to BOOT_CFLAGS. If tree.o is substituted with the one from the build without
BOOT_CFLAGS, gcc is again able to compile hello.c without crashing.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41395



[Bug fortran/41478] function pack causes double free violation

2009-09-27 Thread rguenth at gcc dot gnu dot org


--- Comment #7 from rguenth at gcc dot gnu dot org  2009-09-27 13:12 ---
Different libc, different behavior on double-free


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41478



[Bug middle-end/41435] GCC doesn't fold complex int division

2009-09-27 Thread ghazi at gcc dot gnu dot org


--- Comment #4 from ghazi at gcc dot gnu dot org  2009-09-27 13:59 ---
Fixed


-- 

ghazi at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.5.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41435



[Bug bootstrap/41395] [4.5 regression] Revision 151800 failed bootstrap

2009-09-27 Thread ubizjak at gmail dot com


--- Comment #35 from ubizjak at gmail dot com  2009-09-27 14:29 ---
Bingo!

It is build_function_type_list_1 from tree.c that makes problems:

static tree
build_function_type_list_1 (bool vaargs, tree return_type, va_list argp)

This probably makes alpha specific bootstrap failure duplicate of PR41089.  At
least it explains, why other targets don't see the problem.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41395



[Bug c/41476] [4.5 regression] __typeof__ expands to const type for function types

2009-09-27 Thread schwab at gcc dot gnu dot org


--- Comment #1 from schwab at gcc dot gnu dot org  2009-09-27 15:27 ---
Subject: Bug 41476

Author: schwab
Date: Sun Sep 27 15:27:08 2009
New Revision: 152220

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=152220
Log:
PR c/41476
* c-typeck.c (build_conditional_expr): Use the readonly and
volatile flags of the operand types, not of the operands itself.

testsuite/:
* gcc.dg/cond-constqual-1.c: New test.

Added:
trunk/gcc/testsuite/gcc.dg/cond-constqual-1.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/c-typeck.c
trunk/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41476



[Bug c/41476] [4.5 regression] __typeof__ expands to const type for function types

2009-09-27 Thread schwab at linux-m68k dot org


--- Comment #2 from schwab at linux-m68k dot org  2009-09-27 15:44 ---
Fixed.


-- 

schwab at linux-m68k dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.5.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41476



[Bug middle-end/41393] [4.5 Regression] ICE in get_eh_region_and_lp_from_rtx at except.c:1692

2009-09-27 Thread danglin at gcc dot gnu dot org


--- Comment #1 from danglin at gcc dot gnu dot org  2009-09-27 15:54 ---
(gdb) p *cfun-eh-region_array
$5 = {base = {num = 1, alloc = 4, vec = {0x0}}}
(gdb) p lp
$6 = (eh_landing_pad) 0x0
(gdb) p debug_rtx (insn)
(call_insn 6 5 8 3 /home/dave/gcc-4.5/gcc/gcc/testsuite/gcc.dg/20021014-1.c:12
(parallel [
(call (mem:SI (symbol_ref:SI (_mcount)) [0 S4 A32])
(const_int 8 [0x8]))
(clobber (reg:SI 1 %r1))
(clobber (reg:SI 2 %r2))
(use (const_int 0 [0x0]))
]) -1 (expr_list:REG_EH_REGION (const_int -1 [0x])
(nil))
(expr_list:REG_DEP_TRUE (use (reg:SI 26 %r26))
(expr_list:REG_DEP_TRUE (use (reg:SI 25 %r25))
(nil
$7 = void
(gdb) p *cfun-eh
$8 = {region_tree = 0x0, region_array = 0x40337510, lp_array = 0x40337528, 
  throw_stmt_table = 0x0, ttype_data = 0x0, ehspec_data = {arm_eabi = 0x0, 
other = 0x0}}


-- 

danglin at gcc dot gnu dot org changed:

   What|Removed |Added

   Priority|P2  |P3
   Target Milestone|4.5.0   |---


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41393



[Bug bootstrap/41395] [4.5 regression] Revision 151800 failed bootstrap

2009-09-27 Thread ubizjak at gmail dot com


--- Comment #36 from ubizjak at gmail dot com  2009-09-27 16:11 ---
This band-aid patch enables bootstrap with patch from comment #22 reverted to
proceed a bit further:

Index: tree.c
===
--- tree.c  (revision 152218)
+++ tree.c  (working copy)
@@ -7180,7 +7180,9 @@
function. If VAARGS is set, no void_type_node is appended to the
the list. ARGP muse be alway be terminated be a NULL_TREE.  */

-static tree
+tree build_function_type_list_1 (bool, tree, va_list)
__attribute__((noinline));
+
+tree
 build_function_type_list_1 (bool vaargs, tree return_type, va_list argp)
 {
   tree t, args, last;

However, it soon trips on a similar problem when building __mulvdi3. I don't
feel like chasing all va_list usages through the source of gcc, and since
patched gcc compiles hello.c successfully, this proves the problem.

So this bug heavily depends on PR41089 (blocker) as far as alpha is
concerned.


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

  BugsThisDependsOn||41089


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41395



[Bug tree-optimization/41089] [4.5 Regression] r147980 (New SRA) breaks stdargs

2009-09-27 Thread ubizjak at gmail dot com


--- Comment #27 from ubizjak at gmail dot com  2009-09-27 16:12 ---
Blocker, blocks bootstrap on alpha, see PR41395.


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

   Severity|normal  |blocker


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41089



[Bug fortran/41479] [4.3/4.4/4.5 Regression] intent(out) for types with default initialization

2009-09-27 Thread jv244 at cam dot ac dot uk


--- Comment #5 from jv244 at cam dot ac dot uk  2009-09-27 17:03 ---
target independent bug.


-- 

jv244 at cam dot ac dot uk changed:

   What|Removed |Added

OtherBugsDependingO||32834
  nThis||
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
  GCC build triplet|i386-32bit, MAC OS X Leopard|
   GCC host triplet|i386-32bit, MAC OS X Leopard|
 GCC target triplet|i386-32bit, MAC OS X Leopard|
   Keywords||wrong-code
   Last reconfirmed|-00-00 00:00:00 |2009-09-27 17:03:28
   date||
Summary|wrong code, mis-|[4.3/4.4/4.5 Regression]
   |initialization  |intent(out) for types with
   ||default initialization
   Target Milestone|--- |4.3.5


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41479



[Bug fortran/41479] [4.3/4.4/4.5 Regression] intent(out) for types with default initialization

2009-09-27 Thread kargl at gcc dot gnu dot org


--- Comment #6 from kargl at gcc dot gnu dot org  2009-09-27 17:20 ---
(In reply to comment #0)
 The example below shows that besides the fact that declared as INTENT(OUT) the
 component 'n' is not initialized per default the second time.

It's not initialized on the first call to INIT(), either.

Form -fdump-tree-original 


init (struct container_t  restrict container)
{
  if (container != 0)
{
  if (container-a.data != 0B)
{
  __builtin_free ((void *) container-a.data);
}
  container-a.data = 0B;
}
}

There is no assignment here.  If we look at MAIN

MAIN__ ()
{
  static struct container_t container = {.n=4242};
  static void init (struct container_t  restrict);
  static void dump (struct container_t  restrict);

  container.a.data = 0B;
  {
struct container_t D.1317;
struct container_t container_t.1;

container_t.1.n = 4242;
container_t.1.a.data = 0B;
D.1317 = container;
container = container_t.1;
if (D.1317.a.data != 0B)
  {
__builtin_free ((void *) D.1317.a.data);
  }
D.1317.a.data = 0B;
  }
  init (container);
  dump (container);
  container.n = 1;
  dump (container);
  init (container);

we see the n = 4242 (I changed the value to 4242) from the
original declaration statement.

On a side note, if

   integer, dimension(:), allocatable :: a

is replaced with

   integer, dimension(:), pointer :: a

we get

REMOVE:kargl[272] ./z
   value = 4242
   value = 1
   value = 4242

and -fdump-tree-original shows

init (struct container_t  restrict container)
{
  if (container != 0)
{
  {
struct container_t D.1311;
struct container_t container_t.1;

container_t.1.n = 4242;
D.1311 = container_t.1;
*container = D.1311;
  }
}
}

I suspect that this has been broken since allocatable component
were introduced into gfortran.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41479



[Bug c/41440] SEG FAULT in CSE.C caused by bad RTL expansion

2009-09-27 Thread hutchinsonandy at gcc dot gnu dot org


--- Comment #6 from hutchinsonandy at gcc dot gnu dot org  2009-09-27 17:30 
---
Created an attachment (id=18663)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18663action=view)
Patch to cfgrtl.c  commit_one_edge_insertion()

The problem is in cfgrtl.c function commit_one_edge_insertion()

It does copy value for phi nodes to previous edge. If it find jump on edge it 
places copy before it. It assumes that edge is fall thru edge.
For a fall thru edge, the last instruction can be anything - specifically a
jump just created by RTL expander.

The bug has been present since Rev 146817

I have attached patch that correct the problem.


Index: cfgrtl.c
===
--- cfgrtl.c(revision 152217)
+++ cfgrtl.c(working copy)
@@ -1482,8 +1482,9 @@
 happens on the fr30 for example.

 We know this block has a single successor, so we can just emit
-the queued insns before the jump.  */
- if (JUMP_P (BB_END (bb)))
+the queued insns before the jump. Fallthru edges can have
+jumps created by RTL expander, so ignore these.  */
+ if (!(e-flags  EDGE_FALLTHRU)  JUMP_P (BB_END (bb)))
before = BB_END (bb);
  else
{


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41440



[Bug fortran/41044] internal compiler error: in gfc_conv_intrinsic_function

2009-09-27 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||gcc-bugs at gcc dot gnu dot
   ||org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41044



[Bug fortran/41479] [4.3/4.4/4.5 Regression] intent(out) for types with default initialization

2009-09-27 Thread kargl at gcc dot gnu dot org


--- Comment #7 from kargl at gcc dot gnu dot org  2009-09-27 18:18 ---
Checking the 4.2 branch and trans-expr.c in trunk, it appears that
this chunk of code in gfc_conv_function_call() has gone missing.

2148 /* If an INTENT(OUT) dummy of derived type has a default
2149initializer, it must be (re)initialized here. */
2150 if (fsym-attr.intent == INTENT_OUT
2151  fsym-ts.type == BT_DERIVED
2152  fsym-value)
2153   {
2154 gcc_assert (!fsym-attr.allocatable);
2155 tmp = gfc_trans_assignment (e, fsym-value, false);
2156 gfc_add_expr_to_block (se-pre, tmp);
2157   }


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41479



[Bug libfortran/41482] New: ICE in libgfortran arm thumb multilib compile

2009-09-27 Thread dougsemler at gmail dot com
Internal compiler error when compiling f2c_specifics.F90 function
_gfortran_f2c_specific__cos_c8 with optimizations turned on for the thumb
multilib directory.  The non-thumb build compiles fine.  Turning off the -O2
flag compiles fine (not sure if it works).  I can reduce the test case removing
all other functions from the file:

here is the preprocessed file (only difference between f90 and F90 is the # 1
lines)

# 1 f2c_specifics.F90
# 1 built-in
# 1 command-line
# 1 f2c_specifics.F90
subroutine _gfortran_f2c_specific__cos_c8 (res, parm);
DOUBLE COMPLEX, intent (in) :: parm;   DOUBLE COMPLEX, intent (out) :: res;  
res = cos (parm); end subroutine


And the build results

Reading specs from /opt/build/arm-none-elf/./gcc/specs
Target: arm-elf
Configured with: /opt/src/tooltrunk/configure --prefix=/opt/devtools
--with-gmp=/opt/devtools --with-mpc=/opt/devtools --with-mpfr=/opt/devtools
--with-ppl=/opt/devtools --with-cloog=/opt/devtools
--enable-version-specific-runtime-libs --disable-rpath --disable-win32-registry
--enable-languages=c,c++,fortran --disable-bootstrap --target=arm-elf
Thread model: single
gcc version 4.4.2 20090927 (prerelease) (GCC)
COLLECT_GCC_OPTIONS='-v' '-save-temps' '-B/opt/build/arm-none-elf/./gcc/'
'-nostdinc' '-B/opt/build/arm-none-elf/arm-elf/thumb/newlib/' '-isystem'
'/opt/build/arm-none-elf/arm-elf/thumb/newlib/targ-include' '-isystem'
'/opt/src/tooltrunk/newlib/libc/include'
'-B/opt/build/arm-none-elf/arm-elf/thumb/libgloss/arm'
'-L/opt/build/arm-none-elf/arm-elf/thumb/libgloss/libnosys'
'-L/opt/src/tooltrunk/libgloss/arm' '-B/opt/devtools/arm-elf/bin/'
'-B/opt/devtools/arm-elf/lib/' '-isystem' '/opt/devtools/arm-elf/include'
'-isystem' '/opt/devtools/arm-elf/sys-include' '-L/opt/build/arm-none-elf/./ld'
'-DHAVE_CONFIG_H' '-I../thumb' '-I/opt/src/tooltrunk/libgfortran' '-I../thumb'
'-iquote/opt/src/tooltrunk/libgfortran/io'
'-I/opt/src/tooltrunk/libgfortran/../gcc'
'-I/opt/src/tooltrunk/libgfortran/../gcc/config' '-I../../.././gcc'
'-D_GNU_SOURCE' '-I' '../thumb' '-Wall' '-Werror' '-fno-underscoring'
'-fallow-leading-underscore' '-g' '-O2' '-mthumb' '-c' '-o' 'f2c_specifics.o'
 /opt/build/arm-none-elf/./gcc/f951 f2c_specifics.F90 -cpp f2c_specifics.f90
-quiet -nostdinc -v -I../thumb -I/opt/src/tooltrunk/libgfortran -I../thumb
-I/opt/src/tooltrunk/libgfortran/../gcc
-I/opt/src/tooltrunk/libgfortran/../gcc/config -I../../.././gcc -I ../thumb
-imultilib thumb -iprefix /opt/build/arm-none-elf/gcc/../lib/gcc/arm-elf/4.4.2/
-isystem /opt/build/arm-none-elf/./gcc/include -isystem
/opt/build/arm-none-elf/./gcc/include-fixed -D__USES_INITFINI__ -DHAVE_CONFIG_H
-D_GNU_SOURCE -isystem
/opt/build/arm-none-elf/arm-elf/thumb/newlib/targ-include -isystem
/opt/src/tooltrunk/newlib/libc/include -isystem /opt/devtools/arm-elf/include
-isystem /opt/devtools/arm-elf/sys-include
-iquote/opt/src/tooltrunk/libgfortran/io f2c_specifics.F90 -quiet -dumpbase
f2c_specifics.F90 -mthumb -auxbase-strip f2c_specifics.o -g -O2 -Wall -Werror
-version -fno-underscoring -fallow-leading-underscore -o f2c_specifics.s
ignoring nonexistent directory
/opt/build/arm-none-elf/gcc/../lib/gcc/arm-elf/4.4.2/include
ignoring nonexistent directory
/opt/build/arm-none-elf/gcc/../lib/gcc/arm-elf/4.4.2/include-fixed
ignoring nonexistent directory
/opt/build/arm-none-elf/gcc/../lib/gcc/arm-elf/4.4.2/../../../../arm-elf/sys-include
ignoring nonexistent directory
/opt/build/arm-none-elf/gcc/../lib/gcc/arm-elf/4.4.2/../../../../arm-elf/include
ignoring nonexistent directory
/opt/build/arm-none-elf/gcc/../lib/gcc/../../lib/gcc/arm-elf/4.4.2/include
ignoring nonexistent directory
/opt/build/arm-none-elf/gcc/../lib/gcc/../../lib/gcc/arm-elf/4.4.2/include-fixed
ignoring nonexistent directory
/opt/build/arm-none-elf/gcc/../lib/gcc/../../lib/gcc/arm-elf/4.4.2/../../../../arm-elf/sys-include
ignoring nonexistent directory
/opt/build/arm-none-elf/gcc/../lib/gcc/../../lib/gcc/arm-elf/4.4.2/../../../../arm-elf/include
ignoring nonexistent directory ../thumb
ignoring nonexistent directory ../thumb
ignoring nonexistent directory ../thumb
ignoring nonexistent directory /opt/devtools/arm-elf/include
ignoring nonexistent directory /opt/devtools/arm-elf/sys-include
#include ... search starts here:
#include ... search starts here:
 /opt/src/tooltrunk/libgfortran
 /opt/src/tooltrunk/libgfortran/../gcc
 /opt/src/tooltrunk/libgfortran/../gcc/config
 ../../.././gcc
 /opt/build/arm-none-elf/./gcc/include
 /opt/build/arm-none-elf/./gcc/include-fixed
 /opt/build/arm-none-elf/arm-elf/thumb/newlib/targ-include
 /opt/src/tooltrunk/newlib/libc/include
 /opt/src/tooltrunk/libgfortran/io
End of search list.
GNU Fortran (GCC) version 4.4.2 20090927 (prerelease) (arm-elf)
compiled by GNU C version 4.4.1 20090725 (Red Hat 4.4.1-2), GMP version
4.3.1, MPFR version 2.4.2-dev.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
f2c_specifics.F90: In function '_gfortran_f2c_specific__cos_c8':
f2c_specifics.F90:2: internal compiler

[Bug tree-optimization/41089] [4.5 Regression] r147980 (New SRA) breaks stdargs

2009-09-27 Thread rguenth at gcc dot gnu dot org


--- Comment #28 from rguenth at gcc dot gnu dot org  2009-09-27 18:51 
---
Uros, did you fix the alpha backend vaarg gimplification yet?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41089



[Bug target/41393] [4.5 Regression] ICE in get_eh_region_and_lp_from_rtx at except.c:1692

2009-09-27 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Priority|P3  |P2
   Target Milestone|--- |4.5.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41393



[Bug c/41483] New: gcc fails to elide indirect function call through immutable static variable

2009-09-27 Thread avi at argo dot co dot il
In the following code:

void h(void);

static void g()
{
h();
}

static void (*f)(void) = g;

void k(void)
{
f();
}

It is trivial to see that 'f' cannot change and thus the statement 'f();' can
be compiled as a direct call or jump.  gcc however emits an indirect jump on
x86_64:

   0:   48 8b 05 00 00 00 00mov0x0(%rip),%rax# 7 k+0x7
3: R_X86_64_PC32.rodata-0x4
   7:   ff e0   jmpq   *%rax

Changing the initialization to 'f = h' produces the desired results:

 k:
   0:   e9 00 00 00 00  jmpq   5 k+0x5
1: R_X86_64_PC32h-0x4

Both compiled with -O3 (though expected to work with -O2)


-- 
   Summary: gcc fails to elide indirect function call through
immutable static variable
   Product: gcc
   Version: 4.4.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: avi at argo dot co dot il
 GCC build triplet: x86_64-pc-linux
  GCC host triplet: x86_64-pc-linux
GCC target triplet: x86_64-pc-linux


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41483



[Bug debug/41474] [4.5 Regression] 951116-1.c ICEs in mem_loc_descriptor, at dwarf2out.c:11279

2009-09-27 Thread hutchinsonandy at gcc dot gnu dot org


--- Comment #2 from hutchinsonandy at gcc dot gnu dot org  2009-09-27 19:15 
---
Same for AVR target. Numerous example (though not same testcase)

/home/andy/gccsvn/gcc/testsuite/gcc.c-torture/compile/pr38123.c:13:1: internal
compiler error: in mem_loc_descriptor, at dwarf2out.c:11292

Was ok on September 12th and has been failing for a last week or so.


-- 

hutchinsonandy at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||hutchinsonandy at gcc dot
   ||gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41474



[Bug target/41393] [4.5 Regression] ICE in get_eh_region_and_lp_from_rtx at except.c:1692

2009-09-27 Thread dave at hiauly1 dot hia dot nrc dot ca


--- Comment #2 from dave at hiauly1 dot hia dot nrc dot ca  2009-09-27 
19:30 ---
Subject: Re:  [4.5 Regression] ICE in
get_eh_region_and_lp_from_rtx at except.c:1692

I'm testing the attached target fix.

Dave


--- Comment #3 from dave at hiauly1 dot hia dot nrc dot ca  2009-09-27 
19:30 ---
Created an attachment (id=18664)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18664action=view)


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41393



[Bug c/41483] gcc fails to elide indirect function call through immutable static variable

2009-09-27 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2009-09-27 19:39 ---
Try providing a real prototype for g:

static void g(void)
{
h();
}


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41483



[Bug c/41483] gcc fails to elide indirect function call through immutable static variable

2009-09-27 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2009-09-27 20:27 ---
static void g()

is weird in C, it really means g(...) .


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|normal  |enhancement


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41483



[Bug tree-optimization/41089] [4.5 Regression] r147980 (New SRA) breaks stdargs

2009-09-27 Thread ubizjak at gmail dot com


--- Comment #29 from ubizjak at gmail dot com  2009-09-27 21:09 ---
(In reply to comment #28)
 Uros, did you fix the alpha backend vaarg gimplification yet?

Hm, I'm not aware of anything broken with gimplification (judging by the fact
that it worked until recent changes)... The only patch I have is the one from
Comment 21, and doesn't make any difference with the problem, reported in this
PR.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41089



[Bug c/41440] SEG FAULT in CSE.C caused by bad RTL expansion

2009-09-27 Thread matz at gcc dot gnu dot org


--- Comment #7 from matz at gcc dot gnu dot org  2009-09-27 21:19 ---
As per private communication, you can't do it this way.  You'd loose the
effect of the inserted insn, as the jump jumps over it.  You need to search
backward from the jump to the cc0 setter and insert it in front of that one.
Look at insert_insn_end_bb_new for an example.


-- 

matz at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||matz at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41440



[Bug target/41484] Please add memory forms of pmovzx* (SSE4.1)

2009-09-27 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|minor   |enhancement
  Component|c   |target


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41484



[Bug middle-end/41485] New: [4.5 Regressions] ld: (Warning) Unsatisfied symbol gomp_tls_data

2009-09-27 Thread danglin at gcc dot gnu dot org
Executing on host: /test/gnu/gcc/objdir/gcc/xgcc -B/test/gnu/gcc/objdir/gcc/
/te
st/gnu/gcc/gcc/libgomp/testsuite/libgomp.c/appendix-a/a.15.1.c 
-B/test/gnu/gcc/
objdir/hppa64-hp-hpux11.11/./libgomp/
-I/test/gnu/gcc/objdir/hppa64-hp-hpux11.11
/./libgomp -I/test/gnu/gcc/gcc/libgomp/testsuite/.. -fmessage-length=0 -fopenmp 
 -O2   -L/test/gnu/gcc/objdir/hppa64-hp-hpux11.11/./libgomp/.libs -lgomp -lm  
-
o ./a.15.1.exe(timeout = 300)
ld: (Warning) Unsatisfied symbol gomp_tls_data in file
/test/gnu/gcc/objdir/hp
pa64-hp-hpux11.11/./libgomp/.libs/libgomp.sl
1 warnings.
output is:
ld: (Warning) Unsatisfied symbol gomp_tls_data in file
/test/gnu/gcc/objdir/hp
pa64-hp-hpux11.11/./libgomp/.libs/libgomp.sl
1 warnings.

FAIL: libgomp.c/appendix-a/a.15.1.c (test for excess errors)
Excess errors:
ld: (Warning) Unsatisfied symbol gomp_tls_data in file
/test/gnu/gcc/objdir/hp
pa64-hp-hpux11.11/./libgomp/.libs/libgomp.sl
1 warnings.

Introduced between 151907 and 152186.  The are no libgomp changes in this
interval.


-- 
   Summary: [4.5 Regressions] ld: (Warning) Unsatisfied symbol
gomp_tls_data
   Product: gcc
   Version: 4.5.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: danglin at gcc dot gnu dot org
 GCC build triplet: hppa64-hp-hpux11.11
  GCC host triplet: hppa64-hp-hpux11.11
GCC target triplet: hppa64-hp-hpux11.11


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41485



[Bug target/41473] [4.5 Regression] dsymutil Assertion failed ...

2009-09-27 Thread developer at sandoe-acoustics dot co dot uk


--- Comment #7 from developer at sandoe-acoustics dot co dot uk  2009-09-28 
01:18 ---
(In reply to comment #6)

this issue was introduced by the changes in 151901.
(I can obtain a successful bootstrap by reverting the changes of 151815, the
dsymutil fail is then present, not present at 151900 with the changes of 151815
reverted).

thanks for the pointer to possible libtool influence, however, the
libtool-version listed in (e.g.) libgfortran claims not to have changed between
151000 and152000.

  So in the end this is very likely still
 a dsymutil bug - no user program should run into assertions anyway.

agreed;  however, at the moment I can't repeat this outside the GCC build
process.

running the command line (listed as failing in the log) manually on the
freshly-built tree does not fail.
dwarfdump -av *.o doesn't reveal any failures.

if I build a lib by hand with the objects present and then run dsymutil on it -
it doesn't fail.

I'm also finding it difficult to check the dwarf-4 stuff since none of google,
wiki or the gcc website are pointing to a  DWARF4 spec to read.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41473



[Bug c++/41480] std::map.erase on cygwin

2009-09-27 Thread lifelong830114 at gmail dot com


--- Comment #2 from lifelong830114 at gmail dot com  2009-09-28 01:39 
---
The error occured on cygwin not linux, and I referenced 
http://gcc.gnu.org/gcc-4.2/buildstat.html


-- 

lifelong830114 at gmail dot com changed:

   What|Removed |Added

 Status|RESOLVED|UNCONFIRMED
 Resolution|WORKSFORME  |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41480



[Bug bootstrap/41432] [4.5 Regression] Gcc is getting slower and slower

2009-09-27 Thread hjl dot tools at gmail dot com


--- Comment #4 from hjl dot tools at gmail dot com  2009-09-28 02:22 ---
Hardware went bad.


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41432



[Bug middle-end/41357] libgomp build fail

2009-09-27 Thread davek at gcc dot gnu dot org


--- Comment #31 from davek at gcc dot gnu dot org  2009-09-28 05:48 ---
(In reply to comment #30)
 I still get 
 
 /bin/sh ./libtool --tag CC   --mode=link 
 /usr/local/src/trunk/objdir/./gcc/xgcc
 -B/usr/local/src/trunk/objdir/./gcc/ -B/usr/local/gnu/i686-pc-cygwin/bin/
 -B/usr/local/gnu/i686-pc-cygwin/lib/ -isystem
 /usr/local/gnu/i686-pc-cygwin/include -isystem
 /usr/local/gnu/i686-pc-cygwin/sys-include-Wall -Werror -Wc,-pthread -g 
 -O2 
  -Wl,-O1   -o libgomp.la -version-info 1:0:0  -no-undefined -bindir
 /usr/local/gnu/bin -rpath /usr/local/gnu/lib/gcc/i686-pc-cygwin/4.5.0
 alloc.lo barrier.lo critical.lo env.lo error.lo iter.lo iter_ull.lo loop.lo
 loop_ull.lo ordered.lo parallel.lo sections.lo single.lo task.lo team.lo
 work.lo lock.lo mutex.lo proc.lo sem.lo bar.lo ptrlock.lo time.lo fortran.lo
 affinity.lo  
 libtool: link: rm -fr  .libs/libgomp.dll.a
 libtool: link: /usr/local/src/trunk/objdir/./gcc/xgcc
 -B/usr/local/src/trunk/objdir/./gcc/ -B/usr/local/gnu/i686-pc-cygwin/bin/
 -B/usr/local/gnu/i686-pc-cygwin/lib/ -isystem
 /usr/local/gnu/i686-pc-cygwin/include -isystem
 /usr/local/gnu/i686-pc-cygwin/sys-include-shared  .libs/alloc.o
 .libs/barrier.o .libs/critical.o .libs/env.o .libs/error.o .libs/iter.o
 .libs/iter_ull.o .libs/loop.o .libs/loop_ull.o .libs/ordered.o 
 .libs/parallel.o
 .libs/sections.o .libs/single.o .libs/task.o .libs/team.o .libs/work.o
 .libs/lock.o .libs/mutex.o .libs/proc.o .libs/sem.o .libs/bar.o 
 .libs/ptrlock.o
 .libs/time.o .libs/fortran.o .libs/affinity.o-pthread -Wl,-O1   -o
 .libs/cyggomp-1.dll -Wl,--enable-auto-image-base -Xlinker --out-implib 
 -Xlinker
 .libs/libgomp.dll.a
 xgcc: unrecognized option '-pthread'
 Creating library file:
 .libs/libgomp.dll.a.libs/team.o:team.c:(.debug_info+0x1084): undefined
 reference to `_gomp_tls_data'
 collect2: ld returned 1 exit status
 
 make[4]: *** [libgomp.la] Error 1

  Yeah, confirmed at r.152230; this bug is not yet fixed.  Note that it's a
different .o file from those mentioned in the original error.  Haven't yet
debugged it to see how it's going wrong.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41357



[Bug c/41483] gcc fails to elide indirect function call through immutable static variable

2009-09-27 Thread avi at argo dot co dot il


--- Comment #3 from avi at argo dot co dot il  2009-09-28 05:51 ---
Of course, sorry about the noise.  Marking as invalid.


-- 

avi at argo dot co dot il changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41483