How to implement conditional execution

2008-06-27 Thread Mohamed Shafi
Hello all,

For the 16-bit target that i porting now to gcc 4.1.2 doesn't have any
branch instructions. It only has jump instructions. For comparison
operation it has this instruction:

if cond Rx Ry
 execute this insn

So compare and branch is implemented as

if cond Rx Ry
 jmp Label

If the condition in the 'if' instruction is satisfied the processor
will execute the next instruction or it will replace with a nop. So
this means that i can instructions similar to:

if eq Rx, Ry
  add Rx, Ry
add Rx, 2

This is similar to conditional execution. This way any instruction can
be executed conditionally. But this is different from normal. Normally
the comparison operations set the status flags. An instruction gets
conditionally executed based on these flags. This means that GCC can
schedule instructions between the comparison instruction and the
conditional instruction, provided none of the scheduled instructions
are altering the status flags. This is not possible in my case as
there shouldn't be any instruction between 'if eq Rx, Ry' and 'add Rx,
Ry' and this is not as such an comparison operation and 'if'
instruction doesn't set any status flags.

Will it be possible to implement this in the Gcc backend ?
Does any other targets have similar instructions?

Regards,
Shafi


Re: Mirror

2008-06-27 Thread Gerald Pfeifer
[ gcc - gcc-patches ]

After some off-list conversations with Alex and updates on his mirror,
we now have a new full mirror of gcc.gnu.org ;-) and I am committing
the patch below.

Gerald

Index: mirrors.html
===
RCS file: /cvs/gcc/wwwdocs/htdocs/mirrors.html,v
retrieving revision 1.180
diff -u -3 -p -r1.180 mirrors.html
--- mirrors.html15 Jun 2008 12:35:00 -  1.180
+++ mirrors.html25 Jun 2008 15:50:13 -
@@ -50,6 +50,7 @@ Key fingerprint = 90AA 4704 69D3 965A 87
 liUK, London: a 
href=http://gcc-uk.internet.bs;http://gcc-uk.internet.bs/a, thanks to 
Internet.bs (info at internet dot bs)/li
 liUS, Virginia: a 
href=ftp://mirrors.rcn.net/pub/sourceware/gcc/;mirrors.rcn.net/a (also 
available via a 
href=http://mirrors.rcn.net/pub/sourceware/gcc/;http/a)/li
 liUS, St. Louis (no snapshots): a 
href=ftp://mirrors.laffeycomputer.com/pub/gcc.gnu.org/pub/gcc/;mirrors.laffeycomputer.com/a,
 thanks to mirrormaster at laffey dot biz/li
+liUS, Texas: a href=http://gcc.releasenotes.org;gcc.releasenotes.org/a, 
thanks to Alex Korolev (alex at releasenotes dot org)/li
 /ul
 
 pIf you wish to host a new mirror site, please contact


Re: How to implement conditional execution

2008-06-27 Thread Julian Brown
On Fri, 27 Jun 2008 15:52:22 +0530
Mohamed Shafi [EMAIL PROTECTED] wrote:

 If the condition in the 'if' instruction is satisfied the processor
 will execute the next instruction or it will replace with a nop. So
 this means that i can instructions similar to:
 
 if eq Rx, Ry
   add Rx, Ry
 add Rx, 2

 Will it be possible to implement this in the Gcc backend ?
 Does any other targets have similar instructions?

This is very much like (a simpler version of) the ARM Thumb-2 IT
instruction. Look how config/arm/thumb2.md handles that. I think the
basic idea should be that you should define conditional instruction
patterns which emit assembly for both instructions simultaneously, e.g.
(excuse my pseudocode):

  (define_insn ...
[(...)]
if eq Rx, Ry\;add Rx, Ry)

then there's no possibility for scheduling or other optimisations to
split the second instruction away from the first.

Julian


Is it legitmate to have a fallthru succ edge but a different basic block next?

2008-06-27 Thread Bingfeng Mei
Hello,
I try to locate a problem in GCSE pass and found some suspicious RTL
code as follows. Is it legitimate to have a fallthru succ edge but
next basic block is a different one?   Thanks. 

...
;; Succ edge 10 [91.5%] (fallthru)

;; Succ edge 9 [8.5%] 

;; Start of basic block ( 8) - 9
...


Cheers,
Bingfeng Mei



Write-only registers and regmove pass

2008-06-27 Thread Manish Verma
Hi all,

   I am porting GCC to a weird architecture and I have stumbled over
this small problem. The architecture has write-only registers (er0 -
er7) for I/O operations, reading values from these registers is
forbidden. For the following code:

register int ER0 asm(er0);
int main() {
  int a, b;

   ER0 = a;
   b  = a +1;   // copy propagation -- b = ER0 + 1;
   return b;
}

Regmove pass converts b = a +1 into b = ER0 + 1, which is not allowed
as er0 is a write-only register. I went through the code in regmove.c
and found that it was not properly checking whether such a
transformation satisfies the instruction constraints.

Currently, I have done a point fix to stop regmove to copy propogate
if the destination register (er0) is write-only.

I would like to ask the GCC gurus, if there is proper/nicer way to
handle this problem? Or if this problem has already been solved in the
latest version of GCC? We are using gcc-4.0.2.

Thank you very much for your time,
Best Regards,
Manish

-
Dr. Manish Verma
Altera European Technology Centre,
High Wycombe, UK


Re: Is it legitmate to have a fallthru succ edge but a different basic block next?

2008-06-27 Thread Steven Bosscher
On Fri, Jun 27, 2008 at 2:20 PM, Bingfeng Mei [EMAIL PROTECTED] wrote:
 Hello,
 I try to locate a problem in GCSE pass and found some suspicious RTL
 code as follows. Is it legitimate to have a fallthru succ edge but
 next basic block is a different one?   Thanks.

 ...
 ;; Succ edge 10 [91.5%] (fallthru)

 ;; Succ edge 9 [8.5%]

 ;; Start of basic block ( 8) - 9
 ...

Yes, this is valid if you are in cfglayout mode.

Gr.
Steven


gcc-4.4-20080627 is now available

2008-06-27 Thread gccadmin
Snapshot gcc-4.4-20080627 is now available on
  ftp://gcc.gnu.org/pub/gcc/snapshots/4.4-20080627/
and on various mirrors, see http://gcc.gnu.org/mirrors.html for details.

This snapshot has been generated from the GCC 4.4 SVN branch
with the following options: svn://gcc.gnu.org/svn/gcc/trunk revision 137205

You'll find:

gcc-4.4-20080627.tar.bz2  Complete GCC (includes all of below)

gcc-core-4.4-20080627.tar.bz2 C front end and core compiler

gcc-ada-4.4-20080627.tar.bz2  Ada front end and runtime

gcc-fortran-4.4-20080627.tar.bz2  Fortran front end and runtime

gcc-g++-4.4-20080627.tar.bz2  C++ front end and runtime

gcc-java-4.4-20080627.tar.bz2 Java front end and runtime

gcc-objc-4.4-20080627.tar.bz2 Objective-C front end and runtime

gcc-testsuite-4.4-20080627.tar.bz2The GCC testsuite

Diffs from 4.4-20080620 are available in the diffs/ subdirectory.

When a particular snapshot is ready for public consumption the LATEST-4.4
link is updated and a message is sent to the gcc list.  Please do not use
a snapshot before it has been announced that way.


[Bug libstdc++/36647] New: configure script can not find out version of GNU ld 2.18

2008-06-27 Thread YLitvinenko at astana dot oilfield dot slb dot com
gcc-4.3.1/libgomp/configure and gcc-4.3.1/libstdc++-v3/configure
can not find out version of ld 2.18 (from GNU Binutils 2.18)

I have GNU ld 2.18 but when compiling gcc I get messages:
checking for ld version... 1800
...
and
configure: WARNING: === Linker version 1800 is too old for
...

I found that ld version is determined by (following lines from configure
scripts mentioned above)
...
ldver=`$LD --version 2/dev/null | head -1 | \
   sed -e 's/GNU ld \(version \)\{0,1\}\(([^)]*)
\)\{0,1\}\([0-9.][0-9.]*\).*/\3/'`
...

That gives:
$ echo $ldver
GNU ld (GNU Binutils) 2.18

whereas $ldver should be 2.18


-- 
   Summary: configure script can not find out version of GNU ld 2.18
   Product: gcc
   Version: 4.3.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: YLitvinenko at astana dot oilfield dot slb dot com
 GCC build triplet: i386-pc-solaris2.11
  GCC host triplet: i386-pc-solaris2.11
GCC target triplet: i386-pc-solaris2.11


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



[Bug target/36622] 4.3.1 failed to compile gcse.c file.

2008-06-27 Thread ubizjak at gmail dot com


--- Comment #14 from ubizjak at gmail dot com  2008-06-27 07:16 ---
(In reply to comment #13)

 I just tried the 4.3_branch release of gcc with the CFFLAGS='-02 -fPIC' 
 option.
 
 It seem to fail now in libiberty/md5.c
 
 Here is the error:
 
 --snip--
 
 In file included from ../../../gcc-4.3/libiberty/md5.c:40:
 ../../../gcc-4.3/libiberty/../include/md5.h:85: error: expected ?:?, ?,?, ?;?,
 ?}? or ?__attribute__? before ?ATTRIBUTE_ALIGNED_ALIGNOF

It looks to me that you are picking wrong ansidecl.h header somehow.


-- 


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



[Bug c++/36648] New: segfault in global constructor with -O3

2008-06-27 Thread beckmann dot maik at googlemail dot com
This code
{{{
struct vector {
  vector() : x(0), y(0), z(0) { }  
  float x,y,z;
};

struct Foo { 
  int dummy; // commenting this out makes it run perfectly
  vector array_of_vectors[4];
};

Foo foo;

int main() { }
}}}
compiled with 
  g++ -O3 test.cpp -o test
segaults on x86-64 linux (tested on arch-linux and ubuntu hardy).

Compiled it with -g
  g++ -O3 -g test.cpp -o test
gdb says
{{{
Program received signal SIGSEGV, Segmentation fault.
0x00400553 in global constructors keyed to foo () at test.cpp:2
2     vector() : x(0), y(0), z(0) { }  
(gdb) bt
#0  0x00400553 in global constructors keyed to foo () at test.cpp:2
#1  0x00400636 in __do_global_ctors_aux ()
#2  0x0040041b in _init ()
#3  0x7fbf690ee8c0 in ?? () from /usr/lib/libstdc++.so.6
#4  0x004005c5 in __libc_csu_init ()
#5  0x7fbf688ca382 in __libc_start_main () from /lib/libc.so.6
#6  0x00400479 in _start ()
(gdb) 
}}}

$ LANG=en_US /opt/bin/g++ -v
Using built-in specs.
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-4.3.1/configure --prefix=/opt --enable-languages=c++
--disable-multilib
Thread model: posix
gcc version 4.3.1 (GCC)

Related ML threads:
  http://thread.gmane.org/gmane.linux.arch.general/16677
  http://thread.gmane.org/gmane.comp.gcc.help/24804


-- Maik


-- 
   Summary: segfault in global constructor with -O3
   Product: gcc
   Version: 4.3.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: beckmann dot maik at googlemail dot com
 GCC build triplet: x86_64-unknown-linux-gnu
  GCC host triplet: x86_64-unknown-linux-gnu
GCC target triplet: x86_64-unknown-linux-gnu


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



[Bug c++/36648] segfault in global constructor with -O3

2008-06-27 Thread beckmann dot maik at googlemail dot com


--- Comment #1 from beckmann dot maik at googlemail dot com  2008-06-27 
07:21 ---
The segfault doesn't happen on x86-32.


-- 

beckmann dot maik at googlemail dot com changed:

   What|Removed |Added

  Known to fail||4.3.0 4.3.1
  Known to work||3.4.6 4.0.1 4.2.3


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



[Bug c++/36648] segfault in global constructor with -O3

2008-06-27 Thread beckmann dot maik at googlemail dot com


--- Comment #2 from beckmann dot maik at googlemail dot com  2008-06-27 
08:34 ---
same for gcc-4_3-branch:

$ LANG=en_US svn info .
Path: .
URL: svn://gcc.gnu.org/svn/gcc/branches/gcc-4_3-branch
Repository Root: svn://gcc.gnu.org/svn/gcc
Repository UUID: 138bc75d-0d04-0410-961f-82ee72b054a4
Revision: 137170
Node Kind: directory
Schedule: normal
Last Changed Author: gccadmin
Last Changed Rev: 137166
Last Changed Date: 2008-06-27 02:16:55 +0200 (Fri, 27 Jun 2008)


-- 


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



[Bug libgcj/36640] Build gcc-4.2.1 release fails when configured with --with-xmlj using Sun's ld

2008-06-27 Thread rob1weld at aol dot com


--- Comment #2 from rob1weld at aol dot com  2008-06-27 08:42 ---
Test results are here:

Results for 4.2.1 testsuite on i386-pc-solaris2.11
http://gcc.gnu.org/ml/gcc-testresults/2008-06/msg02160.html

Everything passed (and failed) as expected for this version of gcc when
configured with these options on Cygwin (under WinXP) or Debian/GNU.

A (very?) good result for a first attempt at porting to my new OS.

Even got a few passes with mudflaps -- but I'll see if I can fix that up.


-- 


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



[Bug c++/36648] segfault in global constructor with -O3

2008-06-27 Thread beckmann dot maik at googlemail dot com


--- Comment #3 from beckmann dot maik at googlemail dot com  2008-06-27 
08:46 ---
eeh.. same means it segfaults on x86-64 :)


-- 


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



[Bug libgcj/36640] Build gcc-4.2.1 release fails when configured with --with-xmlj using Sun's ld

2008-06-27 Thread rwild at gcc dot gnu dot org


--- Comment #3 from rwild at gcc dot gnu dot org  2008-06-27 08:47 ---
I don't understand the last comment.  Do you still have a bug to report?
If no, then please close this, if yes, then please state what is different
from the successful build you used to obtain the test results.

Anyway, if you have the relocation issue still, it'd be interesting to see
  cd i386-pc-solaris2.11/libjava
  ./libtool --tag=CXX --config
  ./libtool --tag=GCJ --config

to exclude a bogus pic_flag setting.


-- 

rwild at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||rwild at gcc dot gnu dot org


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



[Bug target/36622] 4.3.1 failed to compile gcse.c file.

2008-06-27 Thread imam dot toufique at intel dot com


--- Comment #15 from imam dot toufique at intel dot com  2008-06-27 08:57 
---
(In reply to comment #14)
 (In reply to comment #13)
  I just tried the 4.3_branch release of gcc with the CFFLAGS='-02 -fPIC' 
  option.
  
  It seem to fail now in libiberty/md5.c
  
  Here is the error:
  
  --snip--
  
  In file included from ../../../gcc-4.3/libiberty/md5.c:40:
  ../../../gcc-4.3/libiberty/../include/md5.h:85: error: expected ?:?, ?,?, 
  ?;?,
  ?}? or ?__attribute__? before ?ATTRIBUTE_ALIGNED_ALIGNOF
 It looks to me that you are picking wrong ansidecl.h header somehow.

I am not sure how did i pick the wrong file. I followed the instructions on how
to fetch the 4.3 burnch and used that same source.

I did:  

svn co http://gcc.gnu.org/svn/gcc/branches/gcc-4_3-branch/ gcc-4.3

I hope I got the correct copy there, unless I did some wrong.  

if you have any suggestions on how to pick the right file, I am open to it.
thanks.


-- 


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



[Bug libstdc++/36647] configure scripts can not find out version of GNU ld 2.18

2008-06-27 Thread paolo dot carlini at oracle dot com


--- Comment #1 from paolo dot carlini at oracle dot com  2008-06-27 09:01 
---
Paolo, can you help with this one?


-- 

paolo dot carlini at oracle dot com changed:

   What|Removed |Added

 CC||bonzini at gnu dot org


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



[Bug tree-optimization/36646] [4.3/4.4 regression] Unnecessary moves generated on loop boundaries

2008-06-27 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2008-06-27 09:23 ---
This is just out-of-SSA not coalescing properly because of

  val_16 = val_3 + 8;
  D.2623_17 = val_3-ptr_off;

which has overlapping life-ranges for val_3 and val_16.  Earlier
compilers either didn't eliminate o in favor of val or were able
to fix this during rtl optimization.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
 GCC target triplet|i?86-*-*|i?86-*-*, x86_64-*-*
   Keywords||missed-optimization
  Known to work||4.2.4
   Last reconfirmed|-00-00 00:00:00 |2008-06-27 09:23:50
   date||
Summary|[4.4 regression] Unnecessary|[4.3/4.4 regression]
   |moves generated on loop |Unnecessary moves generated
   |boundaries  |on loop boundaries
   Target Milestone|--- |4.3.2


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



[Bug tree-optimization/36648] [4.3/4.4 Regression] segfault in global constructor with -O3

2008-06-27 Thread rguenth at gcc dot gnu dot org


--- Comment #4 from rguenth at gcc dot gnu dot org  2008-06-27 09:31 ---
The vectorizer creates an unaligned access.  -O -ftree-vectorize reproduces it.

_GLOBAL__I_foo:
.LFB10:
xorps   %xmm0, %xmm0
movaps  %xmm0, foo+4(%rip)
movl$foo+20, %eax
movaps  %xmm0, (%rax)
movaps  %xmm0, 16(%rax)
ret

.globl foo
.bss
.align 32
.type   foo, @object
.size   foo, 52


base_address: foo
offset from base address: 0
constant offset from base address: 4
step: 12
aligned to: 128
base_object: ((struct vector *) foo)-x
symbol tag: SMT.10

the base object looks wrong (or doesn't it include the constant offset?)

In the end it looks like the vectorizer simply ignores the first field of
the struct.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||irar at il dot ibm dot com,
   ||rguenth at gcc dot gnu dot
   ||org, spop at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
  Component|c++ |tree-optimization
 Ever Confirmed|0   |1
   Keywords||wrong-code
  Known to work|3.4.6 4.0.1 4.2.3   |3.4.6 4.0.1 4.1.2 4.2.4
   Priority|P3  |P1
   Last reconfirmed|-00-00 00:00:00 |2008-06-27 09:31:54
   date||
Summary|segfault in global  |[4.3/4.4 Regression]
   |constructor with -O3|segfault in global
   ||constructor with -O3
   Target Milestone|--- |4.3.2


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



[Bug target/36622] 4.3.1 failed to compile gcse.c file.

2008-06-27 Thread ubizjak at gmail dot com


--- Comment #16 from ubizjak at gmail dot com  2008-06-27 09:43 ---
(In reply to comment #15)

 I did:  
 
 svn co http://gcc.gnu.org/svn/gcc/branches/gcc-4_3-branch/ gcc-4.3
 
 I hope I got the correct copy there, unless I did some wrong.  
 
 if you have any suggestions on how to pick the right file, I am open to it.
 thanks.

It works for me on the sources I just got from SVN. Did you start from the
clean  build directory?

BTW: The file include/ansidecl.h is correct, but please check if your build
process is using it to build md5.o.


-- 


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



[Bug pch/36649] New: [4.3 Regression] -H option doesn't work as expected

2008-06-27 Thread rbuergel at web dot de
touch err.h
echo include \err.h\  err.c
echo include \stdio.h\  err.c
echo int main() {}  err.c



gcc -H err.h
gcc -H err.c prints:
! x9.h.gch
 x9.c
. /usr/include/stdio.h
[more headers...]
.. /usr/include/bits/sys_errlist.h
Multiple include guards may be useful for:
/usr/include/bits/stdio_lim.h


gcc err.h
gcc -H err.c prints:
! x9.h.gch
Multiple include guards may be useful for:
/usr/include/bits/stdio_lim.h


gcc -H err.h
gcc err.c prints:
 x9.c
[more headers...]
.. /usr/include/bits/sys_errlist.h
[no warning about possibly missing include guard]


Leading to the following conclusion: the option, whether the header
dependencies should be displayed or not is included in the precompiled header,
so processing a pch can turn it either on or off. I don't think, that this
behaviour is intended.

gcc-4.2.4 gets it imho right, printing all dependencies when -H is used, no
matter, if the pch was compiled -H or not.

If this kind of behaviour is desired, could someone point out the reason,
please?


-- 
   Summary: [4.3 Regression] -H option doesn't work as expected
   Product: gcc
   Version: 4.2.4
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: pch
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: rbuergel at web dot de


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



[Bug target/36644] make check fails:FAIL: tr1/8_c_compatibility/cmath/functions.cc (test for excess errors)

2008-06-27 Thread paolo dot carlini at oracle dot com


--- Comment #5 from paolo dot carlini at oracle dot com  2008-06-27 10:29 
---
I have no idea either. Unfortunately you target isn't very common among the
contributors of GCC / testers on testresults. As you can see, x86_64 -m32 is
also fine...


-- 


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



[Bug target/36644] make check fails:FAIL: tr1/8_c_compatibility/cmath/functions.cc (test for excess errors)

2008-06-27 Thread paolo dot carlini at oracle dot com


-- 

paolo dot carlini at oracle dot com changed:

   What|Removed |Added

   Severity|critical|normal


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



[Bug target/36644] make check fails:FAIL: tr1/8_c_compatibility/cmath/functions.cc (test for excess errors)

2008-06-27 Thread paolo dot carlini at oracle dot com


--- Comment #6 from paolo dot carlini at oracle dot com  2008-06-27 10:34 
---
By the way, I would consider using a 64-bit OS...


-- 


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



[Bug testsuite/29071] gcc.dg/20020919-1.c compilation test fails on powerpc-apple-darwin8 at -m64

2008-06-27 Thread dominiq at lps dot ens dot fr


--- Comment #7 from dominiq at lps dot ens dot fr  2008-06-27 11:53 ---
Before the patch I had:

...
=== gcc Summary for unix/-m64 ===

# of expected passes49011
# of unexpected failures41
# of unexpected successes   3
# of expected failures  180
# of unsupported tests  676

=== gcc Summary ===

# of expected passes98177
# of unexpected failures65
# of unexpected successes   7
# of expected failures  352
# of unsupported tests  1275
/opt/gcc/darwin_buildw/gcc/xgcc  version 4.4.0 [revision 137150p5] 20080626
(experimental) (GCC)

after I have:

...
=== gcc Summary for unix/-m64 ===

# of expected passes49017
# of unexpected failures35
# of unexpected successes   3
# of expected failures  180
# of unsupported tests  676

=== gcc Summary ===

# of expected passes98183
# of unexpected failures59
# of unexpected successes   7
# of expected failures  352
# of unsupported tests  1275
/opt/gcc/darwin_buildw/gcc/xgcc  version 4.4.0 [revision 137169p4] 20080627
(experimental) (GCC)


-- 


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



[Bug c/36650] New: Unable to build libgcc, xgcc aborts with a segmentation fault

2008-06-27 Thread marion dot deveaud at siemens dot com
GCC version: 4.3.1-20080507

System type: CYGWIN_NT-5.2-WOW64  version 1.5.25
Native GCC:  version 3.4.4 (cygming special, gdc 0.12, using dmd 0.125)

GCC configured with:  --target=x86_64-pc-linux
--prefix=/usr/local/opensuse-x86_64 --enable-languages=c --disable-shared
--disable-threads --disable-multilib --disable-libssp --disable-libmudflap

From x86_64-pc-linux-gcc/libgcc/config.log:
/usr/local/build-root/build-opensuse-64/x86_64-pc-linux-gcc/./gcc/xgcc
-B/usr/local/build-root/build-opensuse-64/x86_64-pc-linux-gcc/./gcc/
-B/usr/local/opensuse-x86_64/x86_64-pc-linux/bin/
-B/usr/local/opensuse-x86_64/x86_64-pc-linux/lib/ -isystem
/usr/local/opensuse-x86_64/x86_64-pc-linux/include -isystem
/usr/local/opensuse-x86_64/x86_64-pc-linux/sys-include -c -O2 -g -g -O2
conftest.c
conftest.c: In function 'main':
conftest.c:12: internal compiler error: Segmentation fault


-- 
   Summary: Unable to build libgcc, xgcc aborts with a segmentation
fault
   Product: gcc
   Version: 4.3.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: marion dot deveaud at siemens dot com
  GCC host triplet: i686-pc-cygwin
GCC target triplet: x86_64-pc-linux-gnu


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



[Bug c/34867] valgrind error indication in testsuite from c-lex.c:996:c_lex_with_flags for gcc.dg/cpp/charconst.c

2008-06-27 Thread lauras at gcc dot gnu dot org


--- Comment #2 from lauras at gcc dot gnu dot org  2008-06-27 12:30 ---
Subject: Bug 34867

Author: lauras
Date: Fri Jun 27 12:29:55 2008
New Revision: 137175

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=137175
Log:
2008-06-27  Laurynas Biveinis  [EMAIL PROTECTED]

PR c/34867
* c-lex.c (lex_charconst): Initialize unsignedp.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/c-lex.c


-- 


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



[Bug c/34867] valgrind error indication in testsuite from c-lex.c:996:c_lex_with_flags for gcc.dg/cpp/charconst.c

2008-06-27 Thread lauras at gcc dot gnu dot org


--- Comment #3 from lauras at gcc dot gnu dot org  2008-06-27 12:32 ---
Fixed on trunk.


-- 

lauras at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||lauras at gcc dot gnu dot
   ||org
 Status|ASSIGNED|RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.4.0


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



[Bug c/36651] New: 64-bit enumerator incorrectly demoted to 32 bits

2008-06-27 Thread jjk at acm dot org
This problem can be reproduced using the attached testcase.

In GCC 3.2.3 (i386-redhat-linux), it works as expected:
 ~ % gcc -v
 Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/3.2.3/specs
 Configured with: ../configure --prefix=/usr --mandir=/usr/share/man 
 --infodir=/usr/share/info --enable-shared --enable-threads=posix 
 --disable-checking --with-system-zlib --enable-__cxa_atexit 
 --host=i386-redhat-linux
 Thread model: posix
 gcc version 3.2.3 20030502 (Red Hat Linux 3.2.3-54)
 ~ % gcc -o foo foo.c
 ~ % ./foo
 10002 10002

In GCC 4.1.2 (x86_64-redhat-linux), apparently the value FOO is interpreted
as a 32-bit integer before the left shift; the bizarre thing is that casting
to Foo (which should be unnecessary) avoids this.
 ~ % gcc -v
 Using built-in specs.
 Target: x86_64-redhat-linux
 Configured with: ../configure --prefix=/usr --mandir=/usr/share/man 
 --infodir=/usr/share/info --enable-shared --enable-threads=posix 
 --enable-checking=release --with-system-zlib --enable-__cxa_atexit 
 --disable-libunwind-exceptions --enable-libgcj-multifile 
 --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk 
 --disable-dssi --enable-plugin 
 --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre --with-cpu=generic 
 --host=x86_64-redhat-linux
 Thread model: posix
 gcc version 4.1.2 20070626 (Red Hat 4.1.2-14)
 ~ % gcc -o foo foo.c
 foo.c: In function 'main':
 foo.c:13: warning: left shift count = width of type
 ~ % ./foo
 2 10002

When I asked about this on gcc-help, Andrew Haley [EMAIL PROTECTED] wrote:
 It's a bug.  C99 says an enumerated type shall be large enough to
 represent all its members, and that when promoting the rank of the
 enumerated type shall equal the rank of the compatible integer type.


-- 
   Summary: 64-bit enumerator incorrectly demoted to 32 bits
   Product: gcc
   Version: 4.1.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jjk at acm dot org
  GCC host triplet: x86_64-redhat-linux
GCC target triplet: x86_64-redhat-linux


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



[Bug c/36651] 64-bit enumerator incorrectly demoted to 32 bits

2008-06-27 Thread jjk at acm dot org


--- Comment #1 from jjk at acm dot org  2008-06-27 12:36 ---
Created an attachment (id=15820)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15820action=view)
Test case.


-- 


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



[Bug c/36651] 64-bit enumerator incorrectly demoted to 32 bits

2008-06-27 Thread joseph at codesourcery dot com


--- Comment #2 from joseph at codesourcery dot com  2008-06-27 12:50 ---
Subject: Re:   New: 64-bit enumerator incorrectly demoted to 32
 bits

On Fri, 27 Jun 2008, jjk at acm dot org wrote:

 When I asked about this on gcc-help, Andrew Haley [EMAIL PROTECTED] wrote:
  It's a bug.  C99 says an enumerated type shall be large enough to
  represent all its members, and that when promoting the rank of the
  enumerated type shall equal the rank of the compatible integer type.

If there is a bug here, it relates to a GNU extension and has nothing to 
do with C99.  C99 requires that all enumeration constants have values 
representable as int.


-- 


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



[Bug c/18624] GCC does not detect local variable set but never used

2008-06-27 Thread aldot at gcc dot gnu dot org


--- Comment #11 from aldot at gcc dot gnu dot org  2008-06-27 13:04 ---
should we

- add a bit so that used_flags:2 and set TREE_USED() = 2 in
expand_assignment(), expand_expr_real_1, adjust setting tree
addressable(decl)=!!TREE_USED(decl), set it in gimplify_modify_expr_rhs() for
vars that are not init-self, expand_one_var() etc.
or
- warn on has_zero_uses() in something like ccp?


-- 


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



[Bug fortran/36652] New: Internal compiler error: in gfc_conv_expr

2008-06-27 Thread j dot wookey at bristol dot ac dot uk
When compiling the code (taken and simplified from FoX, the FORTRAN XML
library):

module charset
 implicit none
 private

 character(len=1), parameter :: SPACE = achar(32)
 character(len=1), parameter :: NEWLINE = achar(10)
 character(len=1), parameter :: CARRIAGE_RETURN = achar(13)
 character(len=1), parameter :: TAB = achar(9)

!  ** taking the last one or two items out of the concatenation allows
compilation 
 character(len=*), parameter :: whitespace =
SPACE//NEWLINE//CARRIAGE_RETURN//TAB

 public :: whitespace

 public :: allowed_encoding

contains

 function allowed_encoding(encoding) result(p)
 character(len=*), intent(in) :: encoding
  logical :: p

  character(len=100) :: enc

  logical :: utf8, usascii, iso88591

!  ** restoring the next line allows compilation
!  utf8 = .false.
  p = utf8.or.usascii.or.iso88591

stop
   end function allowed_encoding 
end module charset

with the command: gfortran -v -save-temps -c testbug.f90
I get an Internal Error:

Using built-in specs.
Target: i386-apple-darwin9.2.0
Configured with: ../gcc-4.4-20080509/configure --enable-languages=fortran
Thread model: posix
gcc version 4.4.0 20080509 (experimental) (GCC) 
COLLECT_GCC_OPTIONS='-mmacosx-version-min=10.5.3' '-v' '-save-temps' '-c'
'-mtune=generic'
 /usr/local/libexec/gcc/i386-apple-darwin9.2.0/4.4.0/f951 testbug.f90 -fPIC
-quiet -dumpbase testbug.f90 -mmacosx-version-min=10.5.3 -mtune=generic
-auxbase testbug -version -fintrinsic-modules-path
/usr/local/lib/gcc/i386-apple-darwin9.2.0/4.4.0/finclude -o testbug.s
GNU Fortran (GCC) version 4.4.0 20080509 (experimental)
(i386-apple-darwin9.2.0)
compiled by GNU C version 4.4.0 20080509 (experimental), GMP version
4.2.1, MPFR version 2.2.1.
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
testbug.f90: In function â#128;#152;allowed_encodingâ#128;#153;:
testbug.f90:19: internal compiler error: in gfc_conv_expr, at
fortran/trans-expr.c:3589
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.


-- 
   Summary: Internal compiler error: in gfc_conv_expr
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: j dot wookey at bristol dot ac dot uk
 GCC build triplet:  ../gcc-4.4-20080509/configure --enable-
languages=fortran
GCC target triplet: i386-apple-darwin9.2.0


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



[Bug target/36584] [4.3/4.4 Regression] Stack is not aligned correctly in recursive function

2008-06-27 Thread hjl at gcc dot gnu dot org


--- Comment #7 from hjl at gcc dot gnu dot org  2008-06-27 13:59 ---
Subject: Bug 36584

Author: hjl
Date: Fri Jun 27 13:59:05 2008
New Revision: 137179

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=137179
Log:
2008-06-27  H.J. Lu  [EMAIL PROTECTED]

PR middle-end/36584
* gcc.target/i386/stackalign/local-1.c: Remove invalid test.

Removed:
branches/stack/gcc/testsuite/gcc.target/i386/stackalign/local-1.c
Modified:
branches/stack/gcc/testsuite/ChangeLog.stackalign


-- 


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



[Bug debug/36617] Debug info for OpenMP code is almost non-existent

2008-06-27 Thread jakub at gcc dot gnu dot org


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jakub at gcc dot gnu dot org
   |dot org |
URL||http://gcc.gnu.org/ml/gcc-
   ||patches/2008-
   ||06/msg01745.html
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-06-27 14:25:15
   date||


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



[Bug c/36651] 64-bit enumerator incorrectly demoted to 32 bits

2008-06-27 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2008-06-27 15:12 ---
I think this is the old bug that the enum values that fit into int get
integer type.  This can be seen from the warning as well (I think the
preprocessor gets this wrong already).  There is a dup about this somewhere...


-- 


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



[Bug c/36651] 64-bit enumerator incorrectly demoted to 32 bits

2008-06-27 Thread pinskia at gcc dot gnu dot org


--- Comment #4 from pinskia at gcc dot gnu dot org  2008-06-27 15:13 ---
If you try with -pedantic, it changes behaviour IIRC.


-- 


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



[Bug c++/36654] New: Inlined con/de-structor breaks in dllimport classes with virtual inheritance

2008-06-27 Thread tdragon at tdragon dot net
In mingw32 builds of the GCC 4.3 branch, the following code causes an ICE:

class blah {};

class __attribute__((dllimport)) vchild : virtual public blah
{
vchild() {}
};

The dllimport attribute, the virtual inheritance, and the inline constructor
are key to causing the error. A Windows prompt session using the MinGW GCC
4.3.0 alpha follows:

 g++ -v
Using built-in specs.
Target: mingw32
Configured with: ../gcc-4.3.0/configure
--enable-languages=c,ada,c++,fortran,java,objc,obj-c++
--disable-sjlj-exceptions --enable-shared --enable-libgcj --enable-libgomp
--with-dwarf2 --disable-win32-registry --enable-libstdcxx-debug
--enable-concept-checks --enable-version-specific-runtime-libs --build=mingw32
--with-bugurl=http://www.mingw.org/bugs.shtml --prefix=/mingw
--with-gmp=/mingw/src/gcc/gmp-mpfr-root
--with-mpfr=/mingw/src/gcc/gmp-mpfr-root
--with-libiconv-prefix=/mingw/src/gcc/libiconv-root
Thread model: win32
gcc version 4.3.0 20080305 (alpha-testing) mingw-20080502 (GCC)

 g++ -c deltatest.ii
deltatest.ii:8: internal compiler error: in maybe_emit_vtables, at
cp/decl2.c:1678
Please submit a full bug report,
with preprocessed source if appropriate.
See http://www.mingw.org/bugs.shtml for instructions.


-- 
   Summary: Inlined con/de-structor breaks in dllimport classes with
virtual inheritance
   Product: gcc
   Version: 4.3.1
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: tdragon at tdragon dot net
 GCC build triplet: mingw32
  GCC host triplet: mingw32
GCC target triplet: mingw32


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



[Bug c++/36654] Inlined con/de-structor breaks virtual inheritance dllimport classes

2008-06-27 Thread tdragon at tdragon dot net


--- Comment #1 from tdragon at tdragon dot net  2008-06-27 17:09 ---
I have also discovered that this bug is *not* present in the MinGW 4.2.1 TP (or
in MinGW 3.4.5), but is present in unofficial builds of GCC 4.3.1 and 4.2.4 as
well as 4.3.0.


-- 


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



[Bug c++/36655] New: unjustified warning for extern template when using -pedantic -std=c++0x

2008-06-27 Thread gcc-bugzilla at contacts dot eelis dot net
Consider:

  template typename void f() {}
  extern template void fint();

When compiled with:

   g++ -pedantic -std=c++0x -c t.cpp

the following warning is emitted:

   warning: ISO C++ forbids the use of ‘extern’ on explicit instantiations

Since extern template has already been integrated into the C++0x working paper,
I think this warning should not be emitted when using -std=c++0x, not even with
-pedantic.


-- 
   Summary: unjustified warning for extern template when using -
pedantic -std=c++0x
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: gcc-bugzilla at contacts dot eelis dot net


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



[Bug c++/36656] New: useless warning: type qualifiers ignored on function return type in template code

2008-06-27 Thread sebor at roguewave dot com
The warning below is unhelpful in generic code and silencing it by removing
the top-level cv qualifiers is unnecessarily tedious.

$ cat t.cpp  g++ t.cpp -W
template class T
T foo () { return T (); }

int main ()
{
fooconst int();
}
t.cpp: In function 'int main()':
t.cpp:2: warning: type qualifiers ignored on function return type


-- 
   Summary: useless warning: type qualifiers ignored on function
return type in template code
   Product: gcc
   Version: 4.3.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: sebor at roguewave dot com


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



[Bug c++/36052] type qualifiers ignored warning

2008-06-27 Thread pinskia at gcc dot gnu dot org


--- Comment #4 from pinskia at gcc dot gnu dot org  2008-06-27 17:46 ---
*** Bug 36656 has been marked as a duplicate of this bug. ***


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||sebor at roguewave dot com


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



[Bug c++/36656] useless warning: type qualifiers ignored on function return type in template code

2008-06-27 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2008-06-27 17:46 ---


*** This bug has been marked as a duplicate of 36052 ***


-- 

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



[Bug c++/30601] [4.3 regression] -Wreturn-type warns about more than what the documentation says

2008-06-27 Thread pinskia at gcc dot gnu dot org


--- Comment #14 from pinskia at gcc dot gnu dot org  2008-06-27 17:47 
---
*** Bug 36052 has been marked as a duplicate of this bug. ***


-- 


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



[Bug c++/36052] type qualifiers ignored warning

2008-06-27 Thread pinskia at gcc dot gnu dot org


--- Comment #5 from pinskia at gcc dot gnu dot org  2008-06-27 17:47 ---
Really I don't see any differences between this and PR 30601.

*** This bug has been marked as a duplicate of 30601 ***


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||DUPLICATE


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



[Bug c++/36655] unjustified warning for extern template when using -pedantic -std=c++0x

2008-06-27 Thread paolo dot carlini at oracle dot com


--- Comment #1 from paolo dot carlini at oracle dot com  2008-06-27 17:57 
---
I think you are right.


-- 

paolo dot carlini at oracle dot com changed:

   What|Removed |Added

 CC||paolo at gcc dot gnu dot
   ||org, doug dot gregor at
   ||gmail dot com


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



[Bug c++/36655] unjustified warning for extern template when using -pedantic -std=c++0x

2008-06-27 Thread paolo dot carlini at oracle dot com


-- 

paolo dot carlini at oracle dot com changed:

   What|Removed |Added

 CC|paolo at gcc dot gnu dot org|
 AssignedTo|unassigned at gcc dot gnu   |paolo dot carlini at oracle
   |dot org |dot com
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-06-27 18:00:54
   date||


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



[Bug target/36644] make check fails:FAIL: tr1/8_c_compatibility/cmath/functions.cc (test for excess errors)

2008-06-27 Thread dtom77 at gmail dot com


--- Comment #7 from dtom77 at gmail dot com  2008-06-27 18:12 ---
Subject: Re:  make check fails:FAIL: tr1/8_c_compatibility/cmath/functions.cc
(test for excess errors)

On Friday 27 June 2008 06:33, paolo dot carlini at oracle dot com wrote:
By the way, I would consider using a 64-bit OS...

I've lots and lots of apps and their configurations. I am not thinking about
transfering right now.

So I tried uninstalling the old libmpfr and using the command line parameters:

--with-mpfr=pathname
--with-mpfr-include=pathname
--with-mpfr-lib=pathname

Still gcc doesn't see the new lib. Seems like gcc is using the old lib 
location which doesn't have mpfr_remainder() function. That creates 
the previous errors from my first post.


Changes from versions 2.2.* to version 2.3.0(from mpfr homepage)
   ..
* New functions mpfr_j0, mpfr_j1, mpfr_jn, mpfr_y0, mpfr_y1,
   mpfr_yn ,mpfr_lgamma, mpfr_remainder, mpfr_remquo, mpfr_fms, 
   mpfr_signbit, mpfr_setsign, mpfr_copysign,   mpfr_get_patches.
* Functions mpfr_sin, mpfr_cos and mpfr_sin_cos improved (argument 
   reduction).
..


i think gcc needs to respect the location and CL parameters that refer to new 
lib. Is  there anyway to force the  compilation process to recognize the new 
path without creating symbolic link (even if it means modifying the source)? I 
can provide assistance regarding this bug. output from config.log during 
`make`:



checking for 
i686-pc-linux-gnu-gcc... /home/ad/build_gcc/./gcc/xgcc
-B/home/ad/build_gcc/./gcc/ -B/opt/gcc-4.3.1/i686-pc-linux-gnu/bin/
-B/opt/gcc-4.3.1/i686-pc-linux-gnu/lib/ -isystem
/opt/gcc-4.3.1/i686-pc-linux-gnu/include -isystem
/opt/gcc-4.3.1/i686-pc-linux-gnu/sys-include
checking for suffix of object files... configure: error: cannot compute suffix 
of object files: cannot compile
See `config.log' for more details.
make[2]: *** [configure-stage1-target-libgcc] Error 1
make[2]: Leaving directory `/home/ad/build_gcc'
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory `/home/ad/build_gcc'
make: *** [all] Error 2


And:

configure:2567: checking for suffix of object files
configure:2588: /home/ad/build_gcc/./gcc/xgcc -B/home/ad/build_gcc/./gcc/
-B/opt/gcc-4.3.1/i686-pc-linux-gnu/bin/ -B/opt/gcc-4.3.1/i686-pc-linux-gnu/lib/
-isystem /opt/gcc-4.3.1/i686-pc-linux-gnu/include -isystem
/opt/gcc-4.3.1/i686-pc-linux-gnu/sys-include -c -g -fkeep-inline-functions  
conftest.c 5
/home/ad/build_gcc/./gcc/cc1: error while loading shared libraries: 
libmpfr.so.1: cannot open shared object file: No such file or directory
configure:2591: $? = 1
configure: failed program was:
| /* confdefs.h.  */
| 
| #define PACKAGE_NAME GNU C Runtime Library
| #define PACKAGE_TARNAME libgcc
| #define PACKAGE_VERSION 1.0
| #define PACKAGE_STRING GNU C Runtime Library 1.0
| #define PACKAGE_BUGREPORT 
| /* end confdefs.h.  */
| 
| int
| main ()
| {
| 
|   ;
|   return 0;
| }
configure:2605: error: cannot compute suffix of object files: cannot compile
See `config.log' for more details.


-- 


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



[Bug tree-optimization/36400] [4.2/4.3/4.4 Regression] points-to results wrong

2008-06-27 Thread rguenth at gcc dot gnu dot org


--- Comment #4 from rguenth at gcc dot gnu dot org  2008-06-27 18:54 ---
Subject: Bug 36400

Author: rguenth
Date: Fri Jun 27 18:53:43 2008
New Revision: 137197

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=137197
Log:
2008-06-27  Richard Guenther  [EMAIL PROTECTED]

PR tree-optimization/36400
PR tree-optimization/36373
PR tree-optimization/36344
* tree-ssa-structalias.c (var_escaped, escaped_tree, escaped_id,
var_nonlocal, nonlocal_tree, nonlocal_id): New globals
(update_alias_info): Remove call clobbering code.
(make_constraint_to): New helper function.
(make_escape_constraint): Likewise.
(handle_rhs_call): Use it on all pointer containing arguments.
Also mark the static chain escaped.
(handle_lhs_call): Make constraints from NONLOCAL and ESCAPED
instead of ANYTHING.
(make_constraint_from): New helper split out from ...
(make_constraint_from_anything): ... here.
(find_func_aliases): Add constraints for escape sites.
(intra_create_variable_infos): Make constraints from NONLOCAL
for parameters.
(find_what_p_points_to): Interpret NONLOCAL and ESCAPED the same
as ANYTHING.
(clobber_what_p_points_to): Remove.
(clobber_what_escaped): New function.
(init_base_vars): Init NONLOCAL and ESCAPED.
(do_sd_constraint): Do not propagate the solution from ESCAPED
but use ESCAPED as a placeholder.
(solve_graph): Likewise.
* tree-flow.h (clobber_what_p_points_to): Remove.
(clobber_what_escaped): Declare.
* tree-ssa-alias.c (set_initial_properties): Call it.
Remove code clobbering escaped pointers.

* gcc.dg/torture/pr36373-1.c: New testcase.
* gcc.dg/torture/pr36373-2.c: Likewise.
* gcc.dg/torture/pr36373-3.c: Likewise.
* gcc.dg/torture/pr36373-4.c: Likewise.
* gcc.dg/torture/pr36373-5.c: Likewise.
* gcc.dg/torture/pr36373-6.c: Likewise.
* gcc.dg/torture/pr36373-7.c: Likewise.
* gcc.dg/torture/pr36373-8.c: Likewise.
* gcc.dg/torture/pr36373-9.c: Likewise.
* gcc.dg/torture/pr36373-10.c: Likewise.
* gcc.dg/torture/pr36400.c: Likewise.
* gcc.c-torture/execute/pta-field-1.c: Likewise.
* gcc.c-torture/execute/pta-field-2.c: Likewise.
* gcc.dg/tree-ssa/loadpre8.c: Remove XFAIL.
* gcc.dg/tree-ssa/pr24287.c: XFAIL.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/tree-ssa/loadpre8.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/pr24287.c
trunk/gcc/tree-flow.h
trunk/gcc/tree-ssa-alias.c
trunk/gcc/tree-ssa-structalias.c


-- 


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



[Bug tree-optimization/36373] [4.2/4.3/4.4 Regression] Wrong code with struct return

2008-06-27 Thread rguenth at gcc dot gnu dot org


--- Comment #6 from rguenth at gcc dot gnu dot org  2008-06-27 18:54 ---
Subject: Bug 36373

Author: rguenth
Date: Fri Jun 27 18:53:43 2008
New Revision: 137197

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=137197
Log:
2008-06-27  Richard Guenther  [EMAIL PROTECTED]

PR tree-optimization/36400
PR tree-optimization/36373
PR tree-optimization/36344
* tree-ssa-structalias.c (var_escaped, escaped_tree, escaped_id,
var_nonlocal, nonlocal_tree, nonlocal_id): New globals
(update_alias_info): Remove call clobbering code.
(make_constraint_to): New helper function.
(make_escape_constraint): Likewise.
(handle_rhs_call): Use it on all pointer containing arguments.
Also mark the static chain escaped.
(handle_lhs_call): Make constraints from NONLOCAL and ESCAPED
instead of ANYTHING.
(make_constraint_from): New helper split out from ...
(make_constraint_from_anything): ... here.
(find_func_aliases): Add constraints for escape sites.
(intra_create_variable_infos): Make constraints from NONLOCAL
for parameters.
(find_what_p_points_to): Interpret NONLOCAL and ESCAPED the same
as ANYTHING.
(clobber_what_p_points_to): Remove.
(clobber_what_escaped): New function.
(init_base_vars): Init NONLOCAL and ESCAPED.
(do_sd_constraint): Do not propagate the solution from ESCAPED
but use ESCAPED as a placeholder.
(solve_graph): Likewise.
* tree-flow.h (clobber_what_p_points_to): Remove.
(clobber_what_escaped): Declare.
* tree-ssa-alias.c (set_initial_properties): Call it.
Remove code clobbering escaped pointers.

* gcc.dg/torture/pr36373-1.c: New testcase.
* gcc.dg/torture/pr36373-2.c: Likewise.
* gcc.dg/torture/pr36373-3.c: Likewise.
* gcc.dg/torture/pr36373-4.c: Likewise.
* gcc.dg/torture/pr36373-5.c: Likewise.
* gcc.dg/torture/pr36373-6.c: Likewise.
* gcc.dg/torture/pr36373-7.c: Likewise.
* gcc.dg/torture/pr36373-8.c: Likewise.
* gcc.dg/torture/pr36373-9.c: Likewise.
* gcc.dg/torture/pr36373-10.c: Likewise.
* gcc.dg/torture/pr36400.c: Likewise.
* gcc.c-torture/execute/pta-field-1.c: Likewise.
* gcc.c-torture/execute/pta-field-2.c: Likewise.
* gcc.dg/tree-ssa/loadpre8.c: Remove XFAIL.
* gcc.dg/tree-ssa/pr24287.c: XFAIL.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/tree-ssa/loadpre8.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/pr24287.c
trunk/gcc/tree-flow.h
trunk/gcc/tree-ssa-alias.c
trunk/gcc/tree-ssa-structalias.c


-- 


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



[Bug testsuite/36344] [4.3/4.4 Regression] gcc.dg/tree-ssa/loadpre8.c XFAILed

2008-06-27 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2008-06-27 18:54 ---
Subject: Bug 36344

Author: rguenth
Date: Fri Jun 27 18:53:43 2008
New Revision: 137197

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=137197
Log:
2008-06-27  Richard Guenther  [EMAIL PROTECTED]

PR tree-optimization/36400
PR tree-optimization/36373
PR tree-optimization/36344
* tree-ssa-structalias.c (var_escaped, escaped_tree, escaped_id,
var_nonlocal, nonlocal_tree, nonlocal_id): New globals
(update_alias_info): Remove call clobbering code.
(make_constraint_to): New helper function.
(make_escape_constraint): Likewise.
(handle_rhs_call): Use it on all pointer containing arguments.
Also mark the static chain escaped.
(handle_lhs_call): Make constraints from NONLOCAL and ESCAPED
instead of ANYTHING.
(make_constraint_from): New helper split out from ...
(make_constraint_from_anything): ... here.
(find_func_aliases): Add constraints for escape sites.
(intra_create_variable_infos): Make constraints from NONLOCAL
for parameters.
(find_what_p_points_to): Interpret NONLOCAL and ESCAPED the same
as ANYTHING.
(clobber_what_p_points_to): Remove.
(clobber_what_escaped): New function.
(init_base_vars): Init NONLOCAL and ESCAPED.
(do_sd_constraint): Do not propagate the solution from ESCAPED
but use ESCAPED as a placeholder.
(solve_graph): Likewise.
* tree-flow.h (clobber_what_p_points_to): Remove.
(clobber_what_escaped): Declare.
* tree-ssa-alias.c (set_initial_properties): Call it.
Remove code clobbering escaped pointers.

* gcc.dg/torture/pr36373-1.c: New testcase.
* gcc.dg/torture/pr36373-2.c: Likewise.
* gcc.dg/torture/pr36373-3.c: Likewise.
* gcc.dg/torture/pr36373-4.c: Likewise.
* gcc.dg/torture/pr36373-5.c: Likewise.
* gcc.dg/torture/pr36373-6.c: Likewise.
* gcc.dg/torture/pr36373-7.c: Likewise.
* gcc.dg/torture/pr36373-8.c: Likewise.
* gcc.dg/torture/pr36373-9.c: Likewise.
* gcc.dg/torture/pr36373-10.c: Likewise.
* gcc.dg/torture/pr36400.c: Likewise.
* gcc.c-torture/execute/pta-field-1.c: Likewise.
* gcc.c-torture/execute/pta-field-2.c: Likewise.
* gcc.dg/tree-ssa/loadpre8.c: Remove XFAIL.
* gcc.dg/tree-ssa/pr24287.c: XFAIL.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/tree-ssa/loadpre8.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/pr24287.c
trunk/gcc/tree-flow.h
trunk/gcc/tree-ssa-alias.c
trunk/gcc/tree-ssa-structalias.c


-- 


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



[Bug debug/36617] Debug info for OpenMP code is almost non-existent

2008-06-27 Thread jakub at gcc dot gnu dot org


--- Comment #2 from jakub at gcc dot gnu dot org  2008-06-27 19:43 ---
Subject: Bug 36617

Author: jakub
Date: Fri Jun 27 19:42:32 2008
New Revision: 137198

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=137198
Log:
PR debug/36617
* tree-cfg.c (struct move_stmt_d): Replace block field with
orig_block and new_block fields.
(move_stmt_r): Only set TREE_BLOCK to p-new_block if
if it used to be NULL, p-orig_block or if p-orig_block is NULL.
(move_block_to_fn): Replace vars_map and new_label_map arguments
with struct move_stmt_d pointer.
(replace_block_vars_by_duplicates): New function.
(move_sese_region_to_fn): Add ORIG_BLOCK argument.  Adjust
move_block_to_fn caller.  If ORIG_BLOCK is non-NULL, move over
all subblocks of ORIG_BLOCK to the new function.  Call
replace_block_vars_by_duplicates.
* tree-flow.h (move_sese_region_to_fn): Adjust prototype.
* omp-low.c (expand_omp_taskreg): Set TREE_USED on DECL_INITIAL
BLOCK of the new function.  Adjust move_sese_region_to_fn caller.
Prune vars with original DECL_CONTEXT from child_cfun-local_decls.
(expand_omp): Temporarily set input_location to the location of
region's controlling stmt.
(lower_omp_sections, lower_omp_for): Add a BLOCK into outermost
BIND_EXPR, push ctx-block_vars and gimplification vars into
the BIND_EXPR and its block's BLOCK_VARS instead of directly
into dest function.
(lower_omp_single): Set TREE_USED on the BIND_EXPR's BLOCK if
there are any BLOCK_VARS.
(lower_omp_taskreg): Set BLOCK on a BIND_EXPR containing the
OMP_PARALLEL or OMP_TASK stmt.
(lower_omp): Save and restore input_location around the lower_omp_1
call.

* testsuite/libgomp.c/debug-1.c: New test.

Added:
trunk/libgomp/testsuite/libgomp.c/debug-1.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/omp-low.c
trunk/gcc/tree-cfg.c
trunk/gcc/tree-flow.h
trunk/libgomp/ChangeLog


-- 


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



[Bug libfortran/36657] New: Namelist reading bug with string constant immediately followed by comment

2008-06-27 Thread anlauf at gmx dot de
Hi,

the following program shows a runtime bug with gfortran 4.3.x:

% cat gfcbug79.f90 
program gfcbug79
  implicit none

  integer, parameter :: nnml = 10

  character(len=8)  :: model = 
  namelist /NML/   model

  open (nnml, file='gfcbug79.nml')
  write(nnml,*) nml
  write(nnml,*)   model='foo'! This is a just comment
  write(nnml,*) /
  rewind(nnml)
  read (nnml, nml=NML)
  close(nnml)
  write (*,nml=NML)
end program gfcbug79
% gfc gfcbug79.f90  ./a.out 
At line 14 of file gfcbug79.f90 (unit = 10, file = 'gfcbug79.nml')
Fortran runtime error: Invalid string input in item 0
%

Inserting a blank before the comment character (!)
is a workaround, but gfortran should nevertheless be fixed.

Cheers,
-ha


-- 
   Summary: Namelist reading bug with string constant immediately
followed by comment
   Product: gcc
   Version: 4.3.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libfortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: anlauf at gmx dot de
  GCC host triplet: i686-pc-linux-gnu


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



[Bug libgcj/36658] New: Building gcj for arm linux from trunk (gcc 4.4.0): libjava/gcj/array.h:24: internal compiler error: verify_gimple failed

2008-06-27 Thread ffileppo at libero dot it
I'm getting the following error/bug when I try to cross compile gcj for ARM
Linux from trunk (gcc 4.4.0).

This works fine using gcc 4.3.0 and 4.3.1


In file included from ../../../libjava/java/lang/String.h:10,
 from ../../../libjava/java/lang/Class.h:19,
 from ../../../libjava/gcj/cni.h:17,
 from ../../../libjava/jni-libjvm.cc:11:
../../../libjava/gcj/array.h: In constructor '__JArray::__JArray()':
../../../libjava/gcj/array.h:24: error: non-trivial conversion at assignment
void
struct __JArray * const
retval = this
../../../libjava/gcj/array.h:24: internal compiler error: verify_gimple failed
Please submit a full bug report,
with preprocessed source if appropriate.
make[3]: *** [jni-libjvm.lo] Error 1
make[3]: Leaving directory
`/media/disk/trunk/gtk-peer/arm-linux-gnueabi/libjava'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory
`/media/disk/trunk/gtk-peer/arm-linux-gnueabi/libjava'
make[1]: *** [all-target-libjava] Error 2
make[1]: Leaving directory `/media/disk/trunk/gtk-peer'
make: *** [all] Error 2


Configured with:

--prefix=/media/disk/gcc-inst --with-sysroot=/root/tmp/f8/rootfs-f8
--disable-libssp --disable-libgomp --disable-libmudflap --enable-libgcj
--disable-bootstrap --disable-multilib --disable-sjlj-exceptions
--target=arm-linux-gnueabi --enable-languages=c,c++,java
--with-build-time-tools=/root/tmp/f8/binutils/arm-linux-gnueabi/bin
--with-ld=/root/tmp/f8/binutils/arm-linux-gnueabi/bin/ld
--with-nm=/root/tmp/f8/binutils/arm-linux-gnueabi/bin/nm
--with-strip=/root/tmp/f8/binutils/arm-linux-gnueabi/bin/strip
--with-as=/root/tmp/f8/binutils/arm-linux-gnueabi/bin/as --with-float=soft
--enable-java-awt=gtk


-- 
   Summary: Building gcj for arm linux from trunk (gcc 4.4.0):
libjava/gcj/array.h:24: internal compiler error:
verify_gimple failed
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libgcj
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ffileppo at libero dot it
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: arm-unknown-linux-gnueabi


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



[Bug c++/35499] Symbol resolution optimization should be separately controlled from -fPIC

2008-06-27 Thread ddenisen at altera dot com


--- Comment #4 from ddenisen at altera dot com  2008-06-27 20:34 ---
Here's the answer to my question (in case somebody else has the same problem):

You have to use -fPIC for compiling the executable itself (but not the shared
objects) to fix the symbol resolution problem described here. I was originally
omitting -fPIC for both SOs and EXE.

and here's some background info about -fPIC removal:

- Not using -fPIC only works on x86 architecture (but not even on x86_64)
because it allows code pages to be both writable and executable. Not using
-fPIC works because the linker creates text relocations
(http://people.redhat.com/drepper/textrelocs.html) all over code that dynamic
loader fixes up when SO/EXE is loaded. 

- Having code pages writable and executable is a huge security thread, so don't
create text relocations if you care about security of your app.

- x86_64 arch allows RIP-related addressing, making position-independent code
virtually free. So don't worry about using PIC for 64-bit apps.


-- 


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



[Bug c++/36655] unjustified warning for extern template when using -pedantic -std=c++0x

2008-06-27 Thread paolo at gcc dot gnu dot org


--- Comment #2 from paolo at gcc dot gnu dot org  2008-06-27 20:46 ---
Subject: Bug 36655

Author: paolo
Date: Fri Jun 27 20:45:25 2008
New Revision: 137200

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=137200
Log:
/cp
2008-06-27  Paolo Carlini  [EMAIL PROTECTED]

PR c++/36655
* pt.c (do_decl_instantiation): In c++0x mode do not warn for
extern template.

/testsuite
2008-06-27  Paolo Carlini  [EMAIL PROTECTED]

PR c++/36655
* g++.dg/cpp0x/extern_template.C: New.

Added:
trunk/gcc/testsuite/g++.dg/cpp0x/extern_template.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/pt.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug c++/36655] unjustified warning for extern template when using -pedantic -std=c++0x

2008-06-27 Thread paolo dot carlini at oracle dot com


--- Comment #3 from paolo dot carlini at oracle dot com  2008-06-27 20:50 
---
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=36655



[Bug other/31754] Include column number along line in error messages main.cpp:5:38

2008-06-27 Thread dseketel at redhat dot com


--- Comment #9 from dseketel at redhat dot com  2008-06-27 21:31 ---
Created an attachment (id=15821)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15821action=view)
better column number in error patch [2/2]

After applying this patch, all calls to error() gcc/cp/parser.c use an
accurate location.
The remaining calls that use the global input_location variable are outside of
the parser.
Some impacted tests have been updated to catch column number regressions.


-- 


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



[Bug tree-optimization/36373] [4.2/4.3/4.4 Regression] Wrong code with struct return

2008-06-27 Thread rguenth at gcc dot gnu dot org


--- Comment #7 from rguenth at gcc dot gnu dot org  2008-06-27 21:55 ---
Subject: Bug 36373

Author: rguenth
Date: Fri Jun 27 21:54:42 2008
New Revision: 137204

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=137204
Log:
2008-06-27  Richard Guenther  [EMAIL PROTECTED]

PR tree-optimization/36400
PR tree-optimization/36373
PR tree-optimization/36344
* tree-ssa-structalias.c (var_escaped, escaped_tree, escaped_id,
var_nonlocal, nonlocal_tree, nonlocal_id): New globals
(update_alias_info): Remove call clobbering code.
(make_constraint_to): New helper function.
(make_escape_constraint): Likewise.
(handle_rhs_call): Use it on all pointer containing arguments.
Also mark the static chain escaped.
(handle_lhs_call): Make constraints from NONLOCAL and ESCAPED
instead of ANYTHING.
(make_constraint_from): New helper split out from ...
(make_constraint_from_anything): ... here.
(find_func_aliases): Add constraints for escape sites.
(intra_create_variable_infos): Make constraints from NONLOCAL
for parameters.
(find_what_p_points_to): Interpret NONLOCAL and ESCAPED the same
as ANYTHING.
(clobber_what_p_points_to): Remove.
(clobber_what_escaped): New function.
(init_base_vars): Init NONLOCAL and ESCAPED.
(do_sd_constraint): Do not propagate the solution from ESCAPED
but use ESCAPED as a placeholder.
(solve_graph): Likewise.
* tree-flow.h (clobber_what_p_points_to): Remove.
(clobber_what_escaped): Declare.
* tree-ssa-alias.c (set_initial_properties): Call it.
Remove code clobbering escaped pointers.

* gcc.dg/torture/pr36373-1.c: New testcase.
* gcc.dg/torture/pr36373-2.c: Likewise.
* gcc.dg/torture/pr36373-3.c: Likewise.
* gcc.dg/torture/pr36373-4.c: Likewise.
* gcc.dg/torture/pr36373-5.c: Likewise.
* gcc.dg/torture/pr36373-6.c: Likewise.
* gcc.dg/torture/pr36373-7.c: Likewise.
* gcc.dg/torture/pr36373-8.c: Likewise.
* gcc.dg/torture/pr36373-9.c: Likewise.
* gcc.dg/torture/pr36373-10.c: Likewise.
* gcc.dg/torture/pr36400.c: Likewise.
* gcc.c-torture/execute/pta-field-1.c: Likewise.
* gcc.c-torture/execute/pta-field-2.c: Likewise.
* gcc.dg/tree-ssa/loadpre8.c: Remove XFAIL.
* gcc.dg/tree-ssa/pr24287.c: XFAIL.

Added:
trunk/gcc/testsuite/gcc.c-torture/execute/pta-field-1.c
trunk/gcc/testsuite/gcc.c-torture/execute/pta-field-2.c
trunk/gcc/testsuite/gcc.dg/torture/pr36373-1.c
trunk/gcc/testsuite/gcc.dg/torture/pr36373-10.c
trunk/gcc/testsuite/gcc.dg/torture/pr36373-2.c
trunk/gcc/testsuite/gcc.dg/torture/pr36373-3.c
trunk/gcc/testsuite/gcc.dg/torture/pr36373-4.c
trunk/gcc/testsuite/gcc.dg/torture/pr36373-5.c
trunk/gcc/testsuite/gcc.dg/torture/pr36373-6.c
trunk/gcc/testsuite/gcc.dg/torture/pr36373-7.c
trunk/gcc/testsuite/gcc.dg/torture/pr36373-8.c
trunk/gcc/testsuite/gcc.dg/torture/pr36373-9.c
trunk/gcc/testsuite/gcc.dg/torture/pr36400.c


-- 


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



[Bug testsuite/36344] [4.3/4.4 Regression] gcc.dg/tree-ssa/loadpre8.c XFAILed

2008-06-27 Thread rguenth at gcc dot gnu dot org


--- Comment #4 from rguenth at gcc dot gnu dot org  2008-06-27 21:55 ---
Subject: Bug 36344

Author: rguenth
Date: Fri Jun 27 21:54:42 2008
New Revision: 137204

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=137204
Log:
2008-06-27  Richard Guenther  [EMAIL PROTECTED]

PR tree-optimization/36400
PR tree-optimization/36373
PR tree-optimization/36344
* tree-ssa-structalias.c (var_escaped, escaped_tree, escaped_id,
var_nonlocal, nonlocal_tree, nonlocal_id): New globals
(update_alias_info): Remove call clobbering code.
(make_constraint_to): New helper function.
(make_escape_constraint): Likewise.
(handle_rhs_call): Use it on all pointer containing arguments.
Also mark the static chain escaped.
(handle_lhs_call): Make constraints from NONLOCAL and ESCAPED
instead of ANYTHING.
(make_constraint_from): New helper split out from ...
(make_constraint_from_anything): ... here.
(find_func_aliases): Add constraints for escape sites.
(intra_create_variable_infos): Make constraints from NONLOCAL
for parameters.
(find_what_p_points_to): Interpret NONLOCAL and ESCAPED the same
as ANYTHING.
(clobber_what_p_points_to): Remove.
(clobber_what_escaped): New function.
(init_base_vars): Init NONLOCAL and ESCAPED.
(do_sd_constraint): Do not propagate the solution from ESCAPED
but use ESCAPED as a placeholder.
(solve_graph): Likewise.
* tree-flow.h (clobber_what_p_points_to): Remove.
(clobber_what_escaped): Declare.
* tree-ssa-alias.c (set_initial_properties): Call it.
Remove code clobbering escaped pointers.

* gcc.dg/torture/pr36373-1.c: New testcase.
* gcc.dg/torture/pr36373-2.c: Likewise.
* gcc.dg/torture/pr36373-3.c: Likewise.
* gcc.dg/torture/pr36373-4.c: Likewise.
* gcc.dg/torture/pr36373-5.c: Likewise.
* gcc.dg/torture/pr36373-6.c: Likewise.
* gcc.dg/torture/pr36373-7.c: Likewise.
* gcc.dg/torture/pr36373-8.c: Likewise.
* gcc.dg/torture/pr36373-9.c: Likewise.
* gcc.dg/torture/pr36373-10.c: Likewise.
* gcc.dg/torture/pr36400.c: Likewise.
* gcc.c-torture/execute/pta-field-1.c: Likewise.
* gcc.c-torture/execute/pta-field-2.c: Likewise.
* gcc.dg/tree-ssa/loadpre8.c: Remove XFAIL.
* gcc.dg/tree-ssa/pr24287.c: XFAIL.

Added:
trunk/gcc/testsuite/gcc.c-torture/execute/pta-field-1.c
trunk/gcc/testsuite/gcc.c-torture/execute/pta-field-2.c
trunk/gcc/testsuite/gcc.dg/torture/pr36373-1.c
trunk/gcc/testsuite/gcc.dg/torture/pr36373-10.c
trunk/gcc/testsuite/gcc.dg/torture/pr36373-2.c
trunk/gcc/testsuite/gcc.dg/torture/pr36373-3.c
trunk/gcc/testsuite/gcc.dg/torture/pr36373-4.c
trunk/gcc/testsuite/gcc.dg/torture/pr36373-5.c
trunk/gcc/testsuite/gcc.dg/torture/pr36373-6.c
trunk/gcc/testsuite/gcc.dg/torture/pr36373-7.c
trunk/gcc/testsuite/gcc.dg/torture/pr36373-8.c
trunk/gcc/testsuite/gcc.dg/torture/pr36373-9.c
trunk/gcc/testsuite/gcc.dg/torture/pr36400.c


-- 


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



[Bug tree-optimization/36400] [4.2/4.3/4.4 Regression] points-to results wrong

2008-06-27 Thread rguenth at gcc dot gnu dot org


--- Comment #5 from rguenth at gcc dot gnu dot org  2008-06-27 21:55 ---
Subject: Bug 36400

Author: rguenth
Date: Fri Jun 27 21:54:42 2008
New Revision: 137204

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=137204
Log:
2008-06-27  Richard Guenther  [EMAIL PROTECTED]

PR tree-optimization/36400
PR tree-optimization/36373
PR tree-optimization/36344
* tree-ssa-structalias.c (var_escaped, escaped_tree, escaped_id,
var_nonlocal, nonlocal_tree, nonlocal_id): New globals
(update_alias_info): Remove call clobbering code.
(make_constraint_to): New helper function.
(make_escape_constraint): Likewise.
(handle_rhs_call): Use it on all pointer containing arguments.
Also mark the static chain escaped.
(handle_lhs_call): Make constraints from NONLOCAL and ESCAPED
instead of ANYTHING.
(make_constraint_from): New helper split out from ...
(make_constraint_from_anything): ... here.
(find_func_aliases): Add constraints for escape sites.
(intra_create_variable_infos): Make constraints from NONLOCAL
for parameters.
(find_what_p_points_to): Interpret NONLOCAL and ESCAPED the same
as ANYTHING.
(clobber_what_p_points_to): Remove.
(clobber_what_escaped): New function.
(init_base_vars): Init NONLOCAL and ESCAPED.
(do_sd_constraint): Do not propagate the solution from ESCAPED
but use ESCAPED as a placeholder.
(solve_graph): Likewise.
* tree-flow.h (clobber_what_p_points_to): Remove.
(clobber_what_escaped): Declare.
* tree-ssa-alias.c (set_initial_properties): Call it.
Remove code clobbering escaped pointers.

* gcc.dg/torture/pr36373-1.c: New testcase.
* gcc.dg/torture/pr36373-2.c: Likewise.
* gcc.dg/torture/pr36373-3.c: Likewise.
* gcc.dg/torture/pr36373-4.c: Likewise.
* gcc.dg/torture/pr36373-5.c: Likewise.
* gcc.dg/torture/pr36373-6.c: Likewise.
* gcc.dg/torture/pr36373-7.c: Likewise.
* gcc.dg/torture/pr36373-8.c: Likewise.
* gcc.dg/torture/pr36373-9.c: Likewise.
* gcc.dg/torture/pr36373-10.c: Likewise.
* gcc.dg/torture/pr36400.c: Likewise.
* gcc.c-torture/execute/pta-field-1.c: Likewise.
* gcc.c-torture/execute/pta-field-2.c: Likewise.
* gcc.dg/tree-ssa/loadpre8.c: Remove XFAIL.
* gcc.dg/tree-ssa/pr24287.c: XFAIL.

Added:
trunk/gcc/testsuite/gcc.c-torture/execute/pta-field-1.c
trunk/gcc/testsuite/gcc.c-torture/execute/pta-field-2.c
trunk/gcc/testsuite/gcc.dg/torture/pr36373-1.c
trunk/gcc/testsuite/gcc.dg/torture/pr36373-10.c
trunk/gcc/testsuite/gcc.dg/torture/pr36373-2.c
trunk/gcc/testsuite/gcc.dg/torture/pr36373-3.c
trunk/gcc/testsuite/gcc.dg/torture/pr36373-4.c
trunk/gcc/testsuite/gcc.dg/torture/pr36373-5.c
trunk/gcc/testsuite/gcc.dg/torture/pr36373-6.c
trunk/gcc/testsuite/gcc.dg/torture/pr36373-7.c
trunk/gcc/testsuite/gcc.dg/torture/pr36373-8.c
trunk/gcc/testsuite/gcc.dg/torture/pr36373-9.c
trunk/gcc/testsuite/gcc.dg/torture/pr36400.c


-- 


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



[Bug c++/36364] [4.1/4.2/4.3/4.4 Regression] Problem with -frepo

2008-06-27 Thread jakub at gcc dot gnu dot org


--- Comment #3 from jakub at gcc dot gnu dot org  2008-06-27 22:27 ---
Subject: Bug 36364

Author: jakub
Date: Fri Jun 27 22:26:48 2008
New Revision: 137205

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=137205
Log:
PR c++/36364
* repo.c (repo_emit_p): Put const static data members initialized
by const expr into *.rpo file, just return 2 if IDENTIFIER_REPO_CHOSEN
for it is 0.

* g++.dg/template/repo9.C: New test.

Added:
trunk/gcc/testsuite/g++.dg/template/repo9.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/repo.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug c++/36364] [4.1/4.2/4.3/4.4 Regression] Problem with -frepo

2008-06-27 Thread jakub at gcc dot gnu dot org


--- Comment #4 from jakub at gcc dot gnu dot org  2008-06-27 22:36 ---
Subject: Bug 36364

Author: jakub
Date: Fri Jun 27 22:35:14 2008
New Revision: 137206

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=137206
Log:
PR c++/36364
* repo.c (repo_emit_p): Put const static data members initialized
by const expr into *.rpo file, just return 2 if IDENTIFIER_REPO_CHOSEN
for it is 0.

* g++.dg/template/repo9.C: New test.

Added:
branches/gcc-4_3-branch/gcc/testsuite/g++.dg/template/repo9.C
Modified:
branches/gcc-4_3-branch/gcc/cp/ChangeLog
branches/gcc-4_3-branch/gcc/cp/repo.c
branches/gcc-4_3-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug c++/36364] [4.1/4.2/4.3/4.4 Regression] Problem with -frepo

2008-06-27 Thread jakub at gcc dot gnu dot org


--- Comment #5 from jakub at gcc dot gnu dot org  2008-06-27 22:36 ---
Fixed.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug debug/36617] Debug info for OpenMP code is almost non-existent

2008-06-27 Thread jakub at gcc dot gnu dot org


--- Comment #3 from jakub at gcc dot gnu dot org  2008-06-27 22:43 ---
Fixed.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug other/31754] Include column number along line in error messages main.cpp:5:38

2008-06-27 Thread jg at jguk dot org


--- Comment #10 from jg at jguk dot org  2008-06-28 01:00 ---
Dodji Seketeli, Just a quick note to say how great it is that you're working in
this enhancement. Cheers, Jon


-- 


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



[Bug libfortran/36657] Namelist reading bug with string constant immediately followed by comment

2008-06-27 Thread jvdelisle at gcc dot gnu dot org


--- Comment #1 from jvdelisle at gcc dot gnu dot org  2008-06-28 01:34 
---
I will investigate this.  i have another namelist patch I am working as well.


-- 

jvdelisle at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jvdelisle at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-06-28 01:34:59
   date||


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



[Bug libstdc++/31413] FAIL: 22_locale/time_get/get_date/wchar_t/4.cc execution test

2008-06-27 Thread dtom77 at gmail dot com


--- Comment #18 from dtom77 at gmail dot com  2008-06-28 02:55 ---
Subject: Re:  FAIL: 22_locale/time_get/get_date/wchar_t/4.cc execution test

The bug still exists in gcc 4.3.1 on my amd 64 computer with 32 bit 
Linux(Debian Etch). During make check get error message. Should i be 
concerned? Is there any remedy for this problem? 


 === libstdc++ tests ===

Schedule of variations:
unix

Running target unix
Using /usr/share/dejagnu/baseboards/unix.exp as board description file for 
target.
Using /usr/share/dejagnu/config/unix.exp as generic interface file for target.
Using /home/ad/dloads/gcc-4.3.1/libstdc++-v3/testsuite/config/default.exp as 
tool-and-target-specific interface file.
Running /home/ad/dloads/gcc-4.3.1/libstdc++-v3/testsuite/libstdc++-abi/abi.exp
...
Running
/home/ad/dloads/gcc-4.3.1/libstdc++-v3/testsuite/libstdc++-dg/conformance.exp
...
FAIL: 22_locale/time_get/get_date/wchar_t/4.cc execution test
XPASS: 26_numerics/headers/cmath/c99_classification_macros_c.cc (test for 
excess errors)

=== libstdc++ Summary ===

# of expected passes5570
# of unexpected failures1
# of unexpected successes   1
# of expected failures  59
# of unsupported tests  10
make[4]: *** [check-DEJAGNU] Error 1
make[4]: Leaving directory 
`/home/ad/build_gcc/i686-pc-linux-gnu/libstdc++-v3/testsuite'
make[3]: *** [check-am] Error 2
make[3]: Leaving directory 
`/home/ad/build_gcc/i686-pc-linux-gnu/libstdc++-v3/testsuite'
make[2]: *** [check-recursive] Error 1
make[2]: Leaving directory `/home/ad/build_gcc/i686-pc-linux-gnu/libstdc++-v3'
make[1]: *** [check-target-libstdc++-v3] Error 2
make[1]: Leaving directory `/home/ad/build_gcc'
make: *** [do-check] Error 2


-- 


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



[Bug libstdc++/31413] FAIL: 22_locale/time_get/get_date/wchar_t/4.cc execution test

2008-06-27 Thread dave at hiauly1 dot hia dot nrc dot ca


--- Comment #19 from dave at hiauly1 dot hia dot nrc dot ca  2008-06-28 
03:47 ---
Subject: Re:  FAIL: 22_locale/time_get/get_date/wchar_t/4.cc execution test

 The bug still exists in gcc 4.3.1 on my amd 64 computer with 32 bit 
 Linux(Debian Etch). During make check get error message. Should i be 
 concerned? Is there any remedy for this problem? 

No.  The fail is the result of a political statement about Taiwanese
dates by a Debian a maintainer.  When I last checked into it, the change
in the calendar had not been officially accepted.  This was some months
ago.

The test should be xfailed on Debian.

Dave


-- 


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



[Bug libstdc++/31413] FAIL: 22_locale/time_get/get_date/wchar_t/4.cc execution test

2008-06-27 Thread danglin at gcc dot gnu dot org


--- Comment #20 from danglin at gcc dot gnu dot org  2008-06-28 03:55 
---
See debian bug 352600.


-- 


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