[Bug tree-optimization/38984] [4.2/4.3 Regression] NULL pointers always considered distinct by PTA, even with -fno-delete-null-pointer-checks

2009-02-02 Thread bonzini at gnu dot org


--- Comment #16 from bonzini at gnu dot org  2009-02-02 08:26 ---
Subject: Re:  [4.2/4.3 Regression] NULL pointers
 always considered distinct by PTA, even with -fno-delete-null-pointer-checks

rguenth at gcc dot gnu dot org wrote:
> --- Comment #15 from rguenth at gcc dot gnu dot org  2009-02-01 22:02 
> ---
> Err, that last comment probably didn't make much sense.  I wanted to say I see
> 
>   # VUSE <.MEM_6(D)>
>   a = *p;
>   # .MEM_7 = VDEF <.MEM_6(D)>
>   *0B = 5;
>   return *p == a;
> 
> so the pattern for two = *p does not match.

I'll check out alias-improvements-branch and fix it.  I'll also add a
testcase for PR38985 there.

Paolo


-- 


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



[Bug middle-end/38503] [4.4 regression] warnings from -isystem headers strikes back.

2009-02-02 Thread pluto at agmk dot net


--- Comment #19 from pluto at agmk dot net  2009-02-02 08:55 ---
(In reply to comment #16)
> Subject: Bug 38503
> 
> Author: rguenth
> Date: Tue Jan 27 10:42:59 2009
> New Revision: 143700

this patch doesn't fix testcase that i found yesterday.

i found another testcase for gcc-4.4.0-20090130 not covered
by patch commited on january, the 27.

$ cat bug2.cpp
#include 
#include 
struct X
{
std::string s;
bool f;
};
extern boost::optional< X > x;
void foo( std::string const& );
bool bar()
{
if ( !x )
return false;
if ( x->f )
foo( x->s );
return false;
}

$ make
rm -f *.ii *.o *.s
/local/devel/toolchain44/x86_64-gnu-linux/bin/x86_64-gnu-linux-g++ -c -Wall -O2
-g0 -fPIC --save-temps -isystem ./sys-headers bug2.cpp
bug2.cpp: In function 'bool bar()':
bug2.cpp:14: warning: dereferencing pointer '' does break
strict-aliasing rules
bug2.cpp:14: note: initialized from here


-- 


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



[Bug debug/39073] New: [4.4 Regression] unable to debug CP2K (no local symbols)

2009-02-02 Thread jv244 at cam dot ac dot uk
I find that I can not print local variables (none that is) if I use 4.4 for
compiling CP2K, while it goes fine with 4.3.

Reproducing requires these steps:

wget http://www.pci.uzh.ch/vandevondele/tmp/CP2K_2008_12_03.tgz
tar -xzvf CP2K_2008_12_03.tgz
cd CP2K_2008_12_03/
#
# change FCFLAGS to read
# FCFLAGS = -O0 -g
# be sure lapack/blas are available for linking 
# 
vi Makefile 
make
gdb ./cp2k.sopt
(gdb) run test.inp
^C
Program received signal SIGINT, Interrupt.
0x006bb92a in __distribution_optimize_MOD_update_cost_cpu_diff () at
distribution_optimize.F:361
361IF (local_cols_new(i).NE.local_cols_old(i)) THEN
(gdb) print i
No symbol "i" in current context.
(gdb) info locals
No locals.

wherever one breaks, local symbols can not be found. The same goes fine using
4.3.1


-- 
   Summary: [4.4 Regression] unable to debug CP2K (no local symbols)
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: debug
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jv244 at cam dot ac dot uk


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



[Bug debug/39073] [4.4 Regression] unable to debug CP2K (no local symbols)

2009-02-02 Thread jv244 at cam dot ac dot uk


--- Comment #1 from jv244 at cam dot ac dot uk  2009-02-02 08:59 ---
> gfortran -v
Using built-in specs.
Target: x86_64-unknown-linux-gnu
Configured with: /data03/vondele/gcc_trunk/gcc/configure
--prefix=/data03/vondele/gcc_trunk/build --enable-languages=c,fortran
--disable-multilib --with-ppl=/data03/vondele/gcc_trunk/build/
--with-cloog=/data03/vondele/gcc_trunk/build/
Thread model: posix
gcc version 4.4.0 20090114 (experimental) [trunk revision 143362] (GCC)


-- 

jv244 at cam dot ac dot uk changed:

   What|Removed |Added

 GCC target triplet||x86_64-unknown-linux-gnu
  Known to fail||4.4.0
  Known to work||4.3.1


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



[Bug debug/39073] [4.4 Regression] unable to debug CP2K (no local symbols)

2009-02-02 Thread burnus at gcc dot gnu dot org


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||burnus at gcc dot gnu dot
   ||org
   Target Milestone|--- |4.4.0


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



[Bug libstdc++/35942] Self Reference In Dynamic Linked Library builds for building Cross-Compiler

2009-02-02 Thread jzb2 at aexorsyst dot com


--- Comment #10 from jzb2 at aexorsyst dot com  2009-02-02 09:31 ---
I can confirm this is a real problem.  I have hit this exact same bug on
gcc-4.2.2.  However, one difference in my setup is that I _do_ have
libstdc++.so available as part of my cross toolchain, with the result the
libtool happily generates code that ends up linking the cross-toolchain's
libstdc++.so into the cross-native (not Canandian) libstdc++.so just being
built, and adds an ugly RPATH to it as well.  I've sent the following to
gcc-help mailing list, before I found this current bug on bugzilla:

I'm doing a cross-native of build gcc-4.2.2 on

--build=i686-pc-linux-gnu

using cross-compiler/toolchain built with

--build=i686-pc-linux-gnu
--host=i686-pc-linux-gnu
--target=i686-pc-linux-uclibc

and currently building gcc-4.2.2 for 

--build=i686-pc-linux-gnu
--host=i686-pc-linux-uclibc
--target=i686-pc-linux-uclibc

with

...
--enable-shared
--enable-languages=c,c++
--with-sysroot=/data/devo/builds/i686-pc-linux-gnu-cross-i686-pc-linux-uclibc/crucis-1/cross-rootfs
...

The generated libtool in

gcc_native-build/i686-pc-linux-uclibc/libstdc++v3/libtool ends up with

...
postdeps="-lstdc++ -lm -lgcc_s -lc -lgcc_s"
...

which seems in error, as it creates a circular dependency of SONAME 
libstdc++.so on NEEDED libstdc++.so and makes for an ugly RPATH:

Dynamic section at offset 0xe789c contains 28 entries:
  TagType Name/Value
 0x0001 (NEEDED) Shared library: [libm.so.0]
 0x0001 (NEEDED) Shared library: [libgcc_s.so.1]
 0x0001 (NEEDED) Shared library: [libc.so.0]
 0x0001 (NEEDED) Shared library: [libintl.so.0]
 0x0001 (NEEDED) Shared library: 
[libstdc++.so.6]
 0x000e (SONAME) Library soname: 
[libstdc++.so.6]
 0x000f (RPATH)  Library rpath: 
[/data/devo/builds/i686-pc-linux-gnu-cross-i686-pc-linux-uclibc/crucis-1/cross-tools/i686-pc-linux-uclibc/lib]

Note that if instead of libstdc++.so I only have libstdc++.a in the toolchain,
then I get a bunch of duplicate symbols and the link fails (I suppose that's
expected at this point).

I'm pretty sure this used to work in earlier versions, but its broken in 4.2.2
and has nothing to do with (in 4.2.2) the --build option, as I do specify it. 
Here's my full cross-native configure command:

cd $(OBJDIR)/gcc_native-build ; \
  CXXFLAGS=-fpermissive \
CC=$(ARCH)-$(CUSTOMER)-$(PLATFORM)-gcc \
$(PKGDIR)/configure --prefix=/usr \
--libexecdir=/usr/lib \
--enable-shared \
--enable-threads=posix \
--enable-__cxa_atexit \
--enable-clocale=uclibc \
--with-cpu=pentium4 \
--with-local-prefix=$(TGTROOT)/usr \
--with-sysroot=$(TGTROOT) \
--enable-languages=c,c++ \
--disable-libstdcxx-pch \
--build=$(BUILDHOST) \
--host=$(ARCH)-$(CUSTOMER)-$(PLATFORM) \
--target=$(ARCH)-$(CUSTOMER)-$(PLATFORM)

And here's how the cross-compiler was built (prior to building gcc_native):

cd $(OBJDIR)/gcc_p2-build ; \
  CXXFLAGS=-fpermissive $(PKGDIR)/configure \
   --prefix=$(PREFIX) \
   --disable-werror \
   --disable-multilib \
   --enable-clocale=uclibc \
   --enable-shared \
   --libexecdir=$(PREFIX)/lib \
   --with-headers=$(TGTROOT)/usr/include \
   --with-sysroot=$(TGTROOT) \
   --enable-threads=posix \
   --enable-__cxa_atexit \
   --with-cpu=pentium4 \
   --enable-languages=c,c++ \
   --target=$(ARCH)-$(CUSTOMER)-$(PLATFORM)

Note that -fpermissive flag is to overcome uClibc's gettext issues, and was
suggested by the gcc itself as it tried to build.  It works with, not without,
but probably has nothing to do this generated libtool issue.  The uclibc locale
was supplied via patches.

I am a programmer, but not a autoconf/automake/libtool expert, so if someone
could just please point out where that postdeps gets instantiated, and how it
has come to include -lstdc++, I'd be happy to run some tests.

Is it possible that this may have to do with the version(s) of the
autoconf/automake tools?  Is that where perhaps the postdeps gets its value? 
I'm just guessing, as I've grepped the whole gcc source tree, and couldn't find
anything useful.  That would also explain the unexpected difference in
behavior.

I'm running autoconf-2.61 and automake-1.10.1 and libtool-1.5.24 

[Bug debug/39073] [4.4 Regression] unable to debug CP2K (no local symbols)

2009-02-02 Thread jan dot kratochvil at redhat dot com


--- Comment #9 from jan dot kratochvil at redhat dot com  2009-02-02 13:48 
---
Confirming it is a GDB bug, DW_TAG_module is completely ignored by
dwarf2read.c.
Older GCCs did not support module namespaces so it may look as a regression.
I hope to patch it soon although I have no such patch right now.


-- 


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



[Bug tree-optimization/39075] New: alignment for "unsigned short a[10000

2009-02-02 Thread dann at godzilla dot ics dot uci dot edu



-- 
   Summary: alignment for "unsigned short a[1
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dann at godzilla dot ics dot uci dot edu


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



[Bug tree-optimization/39075] alignment for "unsigned short a[10000]" vs "extern unsigned short a[10000]"

2009-02-02 Thread dann at godzilla dot ics dot uci dot edu


--- Comment #1 from dann at godzilla dot ics dot uci dot edu  2009-02-02 
14:50 ---
This code:
unsigned short a[1];
void test()
{
  int i;
  for (i = 0; i < 1; ++i)  a[i] = 5;
}

will be vectorized with -O3 -march=core2 to this:

.L2:
movdqa  %xmm0, a(%eax)
addl$16, %eax
cmpl$2, %eax
jne .L2


but this one:

extern unsigned short a[1];

void test()
{
  int i;
  for (i = 0; i < 1; ++i) a[i] = 5;
}

will get a lot of extra code before the loop because the vectorizer thinks it
needs to do peeling for alignment:
test.c:7: note: Alignment of access forced using peeling.

Intel's compiler does not generate the extra peeling code.


-- 

dann at godzilla dot ics dot uci dot edu changed:

   What|Removed |Added

Summary|alignment for "unsigned |alignment for "unsigned
   |short a[1   |short a[1]" vs "extern
   ||unsigned short a[1]"


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



[Bug c/39076] New: internal compiler error when cross-compiling flac

2009-02-02 Thread s dot neumann at phase-zero dot de
I am trying to cross-compile flac 1.2.1 (from
http://downloads.sourceforge.net/flac/) for an ARM processor. The toolchain I
am using is based on a pretty recent buildroot snapshot (20090130).


Here's the output of gcc -v:

Using built-in specs.
Target: arm-linux-uclibcgnueabi
Configured with: /home/sven/buildroot/toolchain_build_arm/gcc-4.3.2/configure
--prefix=/usr --build=i386-pc-linux-gnu --host=i386-pc-linux-gnu
--target=arm-linux-uclibcgnueabi --enable-languages=c,c++
--with-sysroot=/home/sven/buildroot/build_arm/staging_dir
--with-build-time-tools=/home/sven/buildroot/build_arm/staging_dir/usr/arm-linux-uclibcgnueabi/bin
--disable-__cxa_atexit --enable-target-optspace --with-gnu-ld --enable-shared
--with-gmp=/home/sven/buildroot/toolchain_build_arm/gmp
--with-mpfr=/home/sven/buildroot/toolchain_build_arm/mpfr --disable-nls
--enable-threads --disable-multilib --disable-decimal-float --with-float=soft
--with-abi=aapcs --with-arch=iwmmxt --with-tune=iwmmxt
Thread model: posix
gcc version 4.3.2 (GCC) 


Here's the command that breaks and the output from the compiler:

/home/sven/buildroot/build_arm/staging_dir/usr/bin/arm-linux-uclibcgnueabi-gcc
-Os -I/home/sven/buildroot/build_arm/staging_dir/usr/include
-I/home/sven/buildroot/build_arm/staging_dir/include
--sysroot=/home/sven/buildroot/build_arm/staging_dir/ -isysroot
/home/sven/buildroot/build_arm/staging_dir -mabi=aapcs -msoft-float
-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
-DARM_UNROLL_FIX -DHAVE_CONFIG_H -I. -I. -I../.. -DFLaC__INLINE=__inline__
-DNDEBUG -I../.. -I./include -I../../include
-I/home/sven/buildroot/build_arm/staging_dir/usr/include -I/usr/include -O3
-funroll-loops -finline-functions -Wall -W -Winline -Os
-I/home/sven/buildroot/build_arm/staging_dir/usr/include
-I/home/sven/buildroot/build_arm/staging_dir/include
--sysroot=/home/sven/buildroot/build_arm/staging_dir/ -isysroot
/home/sven/buildroot/build_arm/staging_dir -mabi=aapcs -msoft-float
-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
-DARM_UNROLL_FIX -MT bitreader.lo -MD -MP -MF .deps/bitreader.Tpo -c
bitreader.c  -fPIC -DPIC -o .libs/bitreader.o
bitreader.c: In function 'bitreader_read_from_client_':
bitreader.c:288: internal compiler error: Segmentation fault


-- 
   Summary: internal compiler error when cross-compiling flac
   Product: gcc
   Version: 4.3.2
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: s dot neumann at phase-zero dot de
  GCC host triplet: i486-linux-gnu
GCC target triplet: arm-linux-uclibcgnueabi


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



[Bug c/39076] internal compiler error when cross-compiling flac

2009-02-02 Thread s dot neumann at phase-zero dot de


--- Comment #1 from s dot neumann at phase-zero dot de  2009-02-02 16:08 
---
Created an attachment (id=17228)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17228&action=view)
preprocessed file that triggers the bug


-- 


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



[Bug libstdc++/35942] Self Reference In Dynamic Linked Library builds for building Cross-Compiler

2009-02-02 Thread jzb2 at aexorsyst dot com


--- Comment #11 from jzb2 at aexorsyst dot com  2009-02-02 16:26 ---
Well, I answered my own question, sort of...

In my /usr/bin/libtool, in the CXX tag section, I have

postdeps="-lstdc++ -lm -lgcc_s -lc -lgcc_s"

so voila, that's where it comes from, probably.

So this issue can now be reduced to the following:

Native builds and cross-compiles of libstdc++.so override this postdeps and
zero it out.  However, using a cross-compiler to generate host=target native
compiler with build!=host leaves it pulled in, being responsible, I believe,
for this bug.  Whether that's a libtool bug or a libstdc++ configure bug remain
unanswered...  Maybe this is a new wrinkle that newish versions of libtool have
and perhaps has not needed to be dealt with before.


-- 


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



[Bug tree-optimization/39068] signed short plus and signed char plus not vectorized

2009-02-02 Thread dann at godzilla dot ics dot uci dot edu


--- Comment #3 from dann at godzilla dot ics dot uci dot edu  2009-02-02 
16:42 ---
(In reply to comment #2)
> (reminds me of a couple missed-optimization PRs where vectorization is also
> failing due to casts - PR31873 , PR26128 - don't know if this is related)

Are the casts actually needed in this case?  It seems the get introduced very
early on, the .original dump already has:

  a[i] = (short int) ((short unsigned int) b[i] + (short unsigned int) c[i]);


-- 


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



[Bug tree-optimization/38977] [4.4 Regression] bash no longer builds with profile-feedback

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


--- Comment #12 from rguenth at gcc dot gnu dot org  2009-02-02 16:46 
---
I'll see if it helps bash.


-- 


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



[Bug target/39079] New: MIPS: __builtin___clear_cache() broken on SMP ISA_HAS_SYNCI systems.

2009-02-02 Thread daney at gcc dot gnu dot org
We expand __builtin___clear_cache() to a 'synci' instruction on ISA_HAS_SYNCI
systems, which invalidates the icache only on the local CPU.

On an SMP system, the caches on all CPUs should be invalidated.  To achieve
this we need to drop back to the old way of doing things by using the cache
flush system call.


-- 
   Summary: MIPS: __builtin___clear_cache() broken on SMP
ISA_HAS_SYNCI systems.
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: daney at gcc dot gnu dot org
 GCC build triplet: mips64-unknown-linux-gnu
  GCC host triplet: mips64-unknown-linux-gnu
GCC target triplet: mips64-unknown-linux-gnu


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



[Bug c/33466] mixed-case suffix for decimal float constants

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


--- Comment #2 from janis at gcc dot gnu dot org  2009-02-02 17:39 ---
Yes, this is indeed a bug.


-- 

janis at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |janis at gcc dot gnu dot org
   |dot org |
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2009-02-02 17:39:53
   date||


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



[Bug preprocessor/39080] New: -MF writes dependencies for last file only

2009-02-02 Thread bugzilla at poradnik-webmastera dot com
This command produces dependencies for several source files and write them to
the standard output:
gcc -M -MM file1.c file2.c file3.c

Problem appears when I try to save them to file using -MF option:

gcc -M -MM -MF makefile.dep file1.c file2.c file3.c

In this case gcc write dependencies for last file only (in this case for
file3.c).


-- 
   Summary: -MF writes dependencies for last file only
   Product: gcc
   Version: 4.1.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: preprocessor
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: bugzilla at poradnik-webmastera dot com
 GCC build triplet: sparc-sun-solaris2.9
  GCC host triplet: sparc-sun-solaris2.9
GCC target triplet: sparc-sun-solaris2.9


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



[Bug rtl-optimization/39081] New: missed optimization: un-needed copy of structure.

2009-02-02 Thread linasvepstas at gmail dot com
The following block of code appears to produce an un-needed memcpy on both
Intel and PowerPC platforms. There is no aliasing or side-effect that I can
think of that could possibly force such copying to occur -- the problem seems
to be that gcc is not aware of the lifetime of large structures kept on stack.

The full source code:

class TV
{
   private:
  float truth;
  float confidence;
  int stuff[444];
   public:
  TV(void);
  float getT(void);
};

extern TV my_tv_maker(float tr);
extern void other(TV *);

float my_subr(float tr)
{
   TV tv;
   other (&tv);  // force constructor TV::TV to run first
   tv = my_tv_maker(434.23);  // over-write previous tv.
   return tv.getT();
}


PowerPC assembly, created with gcc -S -O2 -c

.L._Z7my_subrf:
.LFB2:
   mflr 0
.LCFI0:
   std 28,-32(1)
.LCFI1:
   std 29,-24(1)
.LCFI2:
   std 0,16(1)
.LCFI3:
   stdu 1,-3728(1)make room for two instances of TV on stack
.LCFI4:
   addi 29,1,112  one instance of TV
   addi 28,1,1904 second instance of TV
   mr 3,29
   bl _ZN2TVC1Ev  call constructor on instance 1
   nop
   mr 3,29
   bl _Z5otherP2TVcall other() on instance 1
   nop
   lfs 1,@toc(2)
   mr 3,28
   bl _Z11my_tv_makerf  call my_tv_make on instance 2
   nop
   mr 4,28
   mr 3,29
   li 5,1784
   bl memcpy   copy instance 2 over to 1! waste of CPU!
   nop
   mr 3,29
   bl _ZN2TV4getTEvcall method on instance 1
   nop
   addi 1,1,3728
   ld 0,16(1)
   ld 28,-32(1)
   ld 29,-24(1)
   mtlr 0
   blr

The missed optimizations are: -- two copies of the instance are not needed; the
copy is not needed either.  For large structures, this can be a significant
time-waster.

Exactly the same problem shows up in Intel as well:

_Z7my_subrf:
.LFB2:
   pushl %ebp
.LCFI0:
   movl  %esp, %ebp
.LCFI1:
   subl  $3608, %esp
.LCFI2:
   movl  %ebx, -8(%ebp)
.LCFI3:
   leal  -1792(%ebp), %ebxinstance 1 of TV
   movl  %esi, -4(%ebp)
.LCFI4:
   leal  -3592(%ebp), %esiinstance 2 of TV
   movl  %ebx, (%esp)
   call  _ZN2TVC1Ev   call constructor on instance 1
   movl  %ebx, (%esp)
   call  _Z5otherP2TV  call other() on instance 1
   movl  %esi, (%esp)
   movl  $0x43d91d71, 4(%esp)
   call  _Z11my_tv_makerf  call my_tv_maker on instance 2
   subl  $4, %esp
   movl  %esi, 4(%esp)
   movl  %ebx, (%esp)
   movl  $1784, 8(%esp)
   call  memcpy copy instance 2 to instance 1
   movl  %ebx, (%esp)
   call  _ZN2TV4getTEv call getT() on instance 1
   movl  -8(%ebp), %ebx
   movl  -4(%ebp), %esi
   movl  %ebp, %esp
   popl  %ebp
   ret


-- 
   Summary: missed optimization: un-needed copy of structure.
   Product: gcc
   Version: 4.1.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: rtl-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: linasvepstas at gmail dot com
 GCC build triplet: powerpc64-unknown-linux-gnu
  GCC host triplet: powerpc64-unknown-linux-gnu
GCC target triplet: powerpc64-unknown-linux-gnu


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



[Bug inline-asm/39058] [4.3 regression] ICE with double in inline-asm

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


--- Comment #4 from jakub at gcc dot gnu dot org  2009-02-02 13:24 ---
Fixed on the trunk so far.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|[4.3/4.4 regression] ICE|[4.3 regression] ICE with
   |with double in inline-asm   |double in inline-asm


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



[Bug rtl-optimization/39081] missed optimization: un-needed copy of structure.

2009-02-02 Thread linasvepstas at gmail dot com


--- Comment #1 from linasvepstas at gmail dot com  2009-02-02 17:57 ---
Happens both for 4.1.2 on powerpc, and 4.2.4 on Intel:

 gcc -v
Using built-in specs.
Target: powerpc64-unknown-linux-gnu
Configured with: /var/tmp/portage/sys-devel/gcc-4.1.2/work/gcc-4.1.2/configure
--prefix=/usr --bindir=/usr/powerpc64-unknown-linux-gnu/gcc-bin/4.1.2
--includedir=/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.2/include
--datadir=/usr/share/gcc-data/powerpc64-unknown-linux-gnu/4.1.2
--mandir=/usr/share/gcc-data/powerpc64-unknown-linux-gnu/4.1.2/man
--infodir=/usr/share/gcc-data/powerpc64-unknown-linux-gnu/4.1.2/info
--with-gxx-include-dir=/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.1.2/include/g++-v4
--host=powerpc64-unknown-linux-gnu --build=powerpc64-unknown-linux-gnu
--enable-altivec --enable-nls --without-included-gettext --with-system-zlib
--disable-checking --disable-werror --enable-secureplt
--disable-libunwind-exceptions --disable-multilib --enable-libmudflap
--disable-libssp --enable-objc-gc
--enable-languages=c,c++,java,objc,obj-c++,fortran --enable-shared
--enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu
Thread model: posix
gcc version 4.1.2 (Gentoo 4.1.2 p1.0.2)


and also:
gcc -v
Using built-in specs.
Target: i486-linux-gnu
Configured with: ../src/configure -v
--enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr
--enable-shared --with-system-zlib --libexecdir=/usr/lib
--without-included-gettext --enable-threads=posix --enable-nls
--with-gxx-include-dir=/usr/include/c++/4.2 --program-suffix=-4.2
--enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr
--enable-targets=all --enable-checking=release --build=i486-linux-gnu
--host=i486-linux-gnu --target=i486-linux-gnu
Thread model: posix
gcc version 4.2.4 (Ubuntu 4.2.4-1ubuntu3)


-- 

linasvepstas at gmail dot com changed:

   What|Removed |Added

Version|4.1.2   |4.2.4


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



[Bug debug/39073] [4.4 Regression] unable to debug CP2K (no local symbols)

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


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

   Priority|P3  |P4


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



[Bug target/37520] junk `(,%eax,4)' after expression / suffix or operands invalid for `lea' for libstdc++ deque/init-list.cc

2009-02-02 Thread bkoz at gcc dot gnu dot org


--- Comment #8 from bkoz at gcc dot gnu dot org  2009-02-02 18:26 ---

This looks like it happens on FreeBSD 7.1 as well:
http://gcc.gnu.org/ml/gcc-testresults/2009-02/msg00142.html

Any news on what is going on here? 

Please note that i386-bsd is a primary platform for a release, as per:
http://gcc.gnu.org/gcc-4.4/criteria.html

Thus, this should really be a higher priority than P3.


-- 


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



[Bug c++/39054] [4.3/4.4 regression] ICE with invalid pseudo-dtor in template

2009-02-02 Thread jason at gcc dot gnu dot org


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jason at gcc dot gnu dot org
   |dot org |
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2009-02-02 18:28:36
   date||


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



[Bug tree-optimization/39074] New: PTA constraint processing for *x = y is wrong

2009-02-02 Thread rguenth at gcc dot gnu dot org
if the solution of x includes ANYTHING we fail to add the solution of y to all
variables.  Testcase (fails on a-i branch):

int i;
void __attribute__((noinline))
foo(long b, long q)
{
  int *y;
  int **a = &y, **x;
  int ***p;
  if (b)
p = (int ***)q;
  else
p = &a;
  x = *p;
  *x = &i;
  *y = 0;
}
extern void abort (void);
int main()
{
  i = 1;
  foo (0, 0);
  if (i != 0)
abort ();
  return 0;
}

I guess we should warn for dereferenced pointers whos points-to set is empty
with "warning: dereferencing uninitialized pointer".


-- 
   Summary: PTA constraint processing for *x = y is wrong
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Keywords: wrong-code, alias
  Severity: major
  Priority: P3
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: rguenth at gcc dot gnu dot org


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



[Bug debug/39073] [4.4 Regression] unable to debug CP2K (no local symbols)

2009-02-02 Thread burnus at gcc dot gnu dot org


--- Comment #2 from burnus at gcc dot gnu dot org  2009-02-02 09:36 ---
Jakub, do you have an idea? This might be a side effect of one of your DWARF
patches.

Reduced test case:

module m
contains
  subroutine a()
integer :: i
do i = 1, 5
  if(i == 8) call abort()
end do
  end subroutine a
end module m

use m
call a()
end


$ gfortran-4.4 -g -O0 aaa.f90
$ gdb --quiet a.out
(gdb) b 6
Breakpoint 1 at 0x400704: file aaa.f90, line 6.
(gdb) run
Starting program: /dev/shm/a.out

Breakpoint 1, __m_MOD_a () at aaa.f90:6
6 if(i == 8) call abort()
Current language:  auto; currently fortran
(gdb) p i
No symbol "i" in current context.
(gdb) pt i
No symbol "i" in current context.



$ gfortran-4.3 -g -O0 aaa.f90
$ gdb --quiet a.out
(gdb) b 6
Breakpoint 1 at 0x400701: file aaa.f90, line 6.
(gdb) run
Starting program: /dev/shm/a.out

Breakpoint 1, a () at aaa.f90:6
6 if(i == 8) call abort()
Current language:  auto; currently fortran
(gdb) p i
$1 = 1
(gdb) pt i
type = integer(kind=4)


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu dot org


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



[Bug c++/39054] [4.3/4.4 regression] ICE with invalid pseudo-dtor in template

2009-02-02 Thread jason at gcc dot gnu dot org


--- Comment #1 from jason at gcc dot gnu dot org  2009-02-02 18:38 ---
Subject: Bug 39054

Author: jason
Date: Mon Feb  2 18:38:10 2009
New Revision: 143876

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=143876
Log:
PR c++/39054
* parser.c (cp_parser_unqualified_id): Don't wrap error_mark_node
in BIT_NOT_EXPR.

Added:
trunk/gcc/testsuite/g++.dg/parse/dtor14.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/parser.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug c++/39054] [4.3 regression] ICE with invalid pseudo-dtor in template

2009-02-02 Thread jason at gcc dot gnu dot org


--- Comment #2 from jason at gcc dot gnu dot org  2009-02-02 18:38 ---
Fixed in 4.4.


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|[4.3/4.4 regression] ICE|[4.3 regression] ICE with
   |with invalid pseudo-dtor in |invalid pseudo-dtor in
   |template|template


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



[Bug c++/27078] [4.2/4.3/4.4 Regression] Duplicate error message for ambiguous enum

2009-02-02 Thread aaw at gcc dot gnu dot org


--- Comment #10 from aaw at gcc dot gnu dot org  2009-02-02 19:13 ---
There were problems with my original patch (Sadly, I don't recall the
details.).  I haven't looked at this in a while and am unlikely to do so soon. 
If someone else wants to look at this, please feel free to do so.


-- 

aaw at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|aaw at gcc dot gnu dot org  |unassigned at gcc dot gnu
   ||dot org
 Status|ASSIGNED|NEW


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



[Bug tree-optimization/32921] [4.3/4.4 Regression] Revision 126326 causes 12% slowdown

2009-02-02 Thread pthaugen at gcc dot gnu dot org


--- Comment #60 from pthaugen at gcc dot gnu dot org  2009-02-02 19:16 
---
I tried leslie3d on PPC. The alias-improvements branch does indeed seem to fix
the issue. The version of leslie3d built with the alias-improvements branch is
about 10% faster than a version built with trunk, and is equivalent to a trunk
version built with --param max-aliased-vops=1.


-- 


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



[Bug tree-optimization/39074] PTA constraint processing for *x = y is wrong

2009-02-02 Thread dberlin at gcc dot gnu dot org


--- Comment #3 from dberlin at gcc dot gnu dot org  2009-02-02 19:42 ---
Eyeballing this, I think y should not end up empty anyway.

Shouldn't it have i in it's points-to set?


-- 


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



[Bug c++/39054] [4.3 regression] ICE with invalid pseudo-dtor in template

2009-02-02 Thread jason at gcc dot gnu dot org


--- Comment #3 from jason at gcc dot gnu dot org  2009-02-02 19:57 ---
Subject: Bug 39054

Author: jason
Date: Mon Feb  2 19:57:29 2009
New Revision: 143879

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=143879
Log:
PR c++/39054
* parser.c (cp_parser_unqualified_id): Don't wrap error_mark_node
in BIT_NOT_EXPR.

Added:
branches/gcc-4_3-branch/gcc/testsuite/g++.dg/parse/dtor14.C
  - copied unchanged from r143876,
trunk/gcc/testsuite/g++.dg/parse/dtor14.C
Modified:
branches/gcc-4_3-branch/gcc/cp/ChangeLog
branches/gcc-4_3-branch/gcc/cp/parser.c
branches/gcc-4_3-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug tree-optimization/38401] TreeSSA-PRE load after store missed optimization

2009-02-02 Thread amylaar at gcc dot gnu dot org


--- Comment #24 from amylaar at gcc dot gnu dot org  2009-02-02 20:02 
---
(In reply to comment #22)
> If you post a patch to add the option to enable/disable partial-PRE I will
> happily review and approve it for 4.4.

I experimented using Seteven Bosscher's patch as a starting point and
augmenting the test in do_regular_insertion with a speed based heuristic
to throttle the calls to insert_into_preds_of_block.  That was worse than
turning off partial-PRE altogether.  Then I added the heuristic also in
do_partial_insertion, which worked better.  Then I tried to remove the speed
heuristoc from do_regular_insertion, and taht change only very tiny, although
overall beneficial, effects.

To get meaningful results we had to modify the linking a bit to reduce
instruction cache effects: the most needed libgcc function were pulled out
early and placed next to the core benchmark objects.

applying heuristic only to partial-partial vs. not applying it at all is...
automotive: 6.55389% faster
consumer:   0.00048% worse
networking: 0.03793% faster
office: 0.07269% worse
telecom:0.0% faster

applying heuristic only to partial-partial vs. applying it in general is...
automotive: 0.00674% faster
consumer:   0.00076% worse
networking: 0.01746% faster
office: 0.00440% worse
telecom:0.2% worse

Unfortunately, there is still no word from the FSF on what they did with our
Copyright Assignment.


-- 


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



[Bug testsuite/38263] gcc.dg/ipa/ipacost-2.c fails with -fpic/-fPIC

2009-02-02 Thread ghazi at gcc dot gnu dot org


--- Comment #4 from ghazi at gcc dot gnu dot org  2009-02-02 20:10 ---
Subject: Bug 38263

Author: ghazi
Date: Mon Feb  2 20:10:04 2009
New Revision: 143880

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=143880
Log:
PR testsuite/38263
* gcc.dg/ipa/ipacost-2.c: Add -fpie when pic.


Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/ipa/ipacost-2.c


-- 


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



[Bug debug/39073] [4.4 Regression] unable to debug CP2K (no local symbols)

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


--- Comment #5 from jakub at gcc dot gnu dot org  2009-02-02 09:51 ---
The generated unwind info looks good to me, so it is likely a gdb issue.

 [58]module
 name "m"
 decl_file1
 decl_line1
 sibling  [89]
 [61]  subprogram
   external 
   name "a"
   decl_file1
   decl_line3
   low_pc   0x0040065c <__m_MOD_a>
   high_pc  0x00400698 
   frame_base   location list [24]
 [7b]variable
 name "i"
 decl_file1
 decl_line4
 type [89]
 location 2 byte block
  [   0] fbreg -20
 [89]base_type
 byte_size4
 encoding signed (5)
 name "integer(kind=4)"

is in the CU (together with MAIN__, but that is not relevant to i in the module
function).


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||jan dot kratochvil at redhat
   ||dot com


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



[Bug libstdc++/25191] exception_defines.h #defines try/catch

2009-02-02 Thread jason at gcc dot gnu dot org


--- Comment #74 from jason at gcc dot gnu dot org  2009-02-02 20:27 ---
Since my suggested patch proved somewhat controversial, for 4.4 I'd like to
fall back on the simpler solution that Howard proposed in the initial bug
report; it is inappropriate for library headers to redefine keywords.


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|jason at gcc dot gnu dot org|unassigned at gcc dot gnu
   ||dot org
 Status|ASSIGNED|NEW


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



[Bug c/38957] [4.3 Regression] return of local variable pointer

2009-02-02 Thread cnstar9988 at gmail dot com


--- Comment #5 from cnstar9988 at gmail dot com  2009-02-02 13:19 ---
ping 4.3.4, thanks!


-- 


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



[Bug libstdc++/25191] exception_defines.h #defines try/catch

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


--- Comment #76 from paolo dot carlini at oracle dot com  2009-02-02 21:11 
---
Ok, let's wait a couple of days and, assuming there are no objections, I
volunteer to implement that.


-- 


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



[Bug tree-optimization/38937] [4.4 Regression] dereferencing pointer '' does break strict-aliasing

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


--- Comment #10 from rguenth at gcc dot gnu dot org  2009-02-02 10:39 
---
Subject: Bug 38937

Author: rguenth
Date: Mon Feb  2 10:39:12 2009
New Revision: 143864

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=143864
Log:
2009-02-02  Richard Guenther  

PR tree-optimization/38937
* g++.dg/warn/Wstrict-aliasing-bogus-escape.C: New testcase.

Added:
trunk/gcc/testsuite/g++.dg/warn/Wstrict-aliasing-bogus-escape.C
Modified:
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug inline-asm/39058] [4.3/4.4 regression] ICE with double in inline-asm

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


--- Comment #3 from jakub at gcc dot gnu dot org  2009-02-02 13:23 ---
Subject: Bug 39058

Author: jakub
Date: Mon Feb  2 13:23:43 2009
New Revision: 143867

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=143867
Log:
PR inline-asm/39058
* recog.h (asm_operand_ok): Add constraints argument.
* recog.c (asm_operand_ok): Likewise.  If it is set, for digits
recurse on matching constraint.
(check_asm_operands): Pass constraints as 3rd argument to
asm_operand_ok.  Don't look up matching constraint here.
* stmt.c (expand_asm_operands): Pass NULL as 3rd argument
to asm_operand_ok.

* gcc.target/i386/pr39058.c: New test.

Added:
trunk/gcc/testsuite/gcc.target/i386/pr39058.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/recog.c
trunk/gcc/recog.h
trunk/gcc/stmt.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug middle-end/38503] [4.4 regression] warnings from -isystem headers strikes back.

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


--- Comment #20 from rguenth at gcc dot gnu dot org  2009-02-02 10:23 
---
Same issue.  Only possible fix is to not apply TBAA pruning to escaped
symbols, which will - well - basically disable TBAA.  Testcase:

inline void *operator new (__SIZE_TYPE__, void *__p) throw() { return __p; }

struct Y {
  Y() {}
  int i;
};

struct X {
  X() {}
  void construct(const Y& y)
  {
new (&m_data[0]) Y(y);
  }
  template 
  Y& get() { return reinterpret_cast(m_data); }
  bool initialized;
  char m_data[sizeof (Y)];
};

X x;

void bar(const X&);
void foo(Y& y)
{
  x.get() = y;
  x.initialized = true;
  bar(x);
}


-- 


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



[Bug libstdc++/25191] exception_defines.h #defines try/catch

2009-02-02 Thread mark at codesourcery dot com


--- Comment #75 from mark at codesourcery dot com  2009-02-02 20:29 ---
Subject: Re:  exception_defines.h #defines try/catch

jason at gcc dot gnu dot org wrote:

> Since my suggested patch proved somewhat controversial, for 4.4 I'd like to
> fall back on the simpler solution that Howard proposed in the initial bug
> report; it is inappropriate for library headers to redefine keywords.

Makes sense to me.


-- 


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



[Bug target/39065] libiberty hashtab.c:hash_pointer() needs intptr_t

2009-02-02 Thread dj at redhat dot com


--- Comment #2 from dj at redhat dot com  2009-02-02 21:52 ---
You should put the new code in a #ifdef HAVE_STDINT and use the old code
otherwise.  Else, any platforms without stdint.h would not compile.


-- 


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



[Bug tree-optimization/39075] alignment for "unsigned short a[10000]" vs "extern unsigned short a[10000]"

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


--- Comment #2 from rguenth at gcc dot gnu dot org  2009-02-02 14:53 ---
The ABI does not guarantee alignment bigger than 2 for the external array.  The
vectorizer adjusts the alignment for the internal one.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug debug/39073] [4.4 Regression] unable to debug CP2K (no local symbols)

2009-02-02 Thread jv244 at cam dot ac dot uk


--- Comment #4 from jv244 at cam dot ac dot uk  2009-02-02 09:49 ---
(In reply to comment #3)

thanks for the reduced testcase... will help :-)

> Hmm, maybe this is only a gdb bug / missing feature.

just as a note, I tried gdb 6.8 and it failed as well.


-- 


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



[Bug testsuite/36443] [4.3/4.4 Regression]: HOSTCC doesn't work with installed gcc

2009-02-02 Thread mmitchel at gcc dot gnu dot org


--- Comment #46 from mmitchel at gcc dot gnu dot org  2009-02-02 22:00 
---
As I understand it, the complaint here is that GCC_EXEC_PREFIX being set
affects HOSTCC, when HOSTCC is itself some other GCC.

But, we have to make sure that the newly built compiler searches the right
directory.  That's why GCC_EXEC_PREFIX is set.  (You can fix this by arranging
to fix GCC's build process, so that components are installed within the build
tree in the same way they would be at install time, and then you can forget all
about GCC_EXEC_PREFIX, -B options, and everything else.  But, it's a huge
project.)

HOSTCC is an arbitrary compiler.  It need not even be a GNU compiler.  DejaGNU,
"make check", etc. set all manner of random environment variables.  Therefore,
if you want to be robust, HOSTCC needs to set/unset any environment variables
relevant to its operation.

-- Mark


-- 


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



[Bug debug/39073] [4.4 Regression] unable to debug CP2K (no local symbols)

2009-02-02 Thread jv244 at cam dot ac dot uk


--- Comment #6 from jv244 at cam dot ac dot uk  2009-02-02 11:09 ---
(In reply to comment #5)
> The generated unwind info looks good to me, so it is likely a gdb issue.

1) how does one get this generated unwind info (I'd like to see what is
different from 4.3)?

2) Do you see a way to work around this issue (other than using idb), since
this impacts the debugability of Fortran code significantly.


-- 


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



[Bug c/39076] internal compiler error when cross-compiling flac

2009-02-02 Thread falk at debian dot org


--- Comment #2 from falk at debian dot org  2009-02-02 19:02 ---
No problem with the trunk, but it's still there in the 4.3 branch.

Here's a test case. Requires -funroll-loops -Os, no problem with any other -O, 
or without -funroll-loops, curiously.

int f(int x, int y) {
int bytes = 4 * x + y;
if (bytes == 0)
return 0;
return bytes + 1;
}


-- 

falk at debian dot org changed:

   What|Removed |Added

 CC||falk at debian dot org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
  Known to fail||4.3.4
  Known to work||4.4.0


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



[Bug middle-end/39075] alignment for "unsigned short a[10000]" vs "extern unsigned short a[10000]"

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


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
  Component|tree-optimization   |middle-end
 Ever Confirmed|0   |1
   Keywords||missed-optimization
   Last reconfirmed|-00-00 00:00:00 |2009-02-02 15:03:08
   date||


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



[Bug tree-optimization/39074] PTA constraint processing for *x = y is wrong

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


--- Comment #1 from rguenth at gcc dot gnu dot org  2009-02-02 14:03 ---
We could for example warn for

/* { dg-do compile } */
/* { dg-options "-O -Wuninitialized" } */

int i;
int __attribute((const,noinline))
foo (int **p)
{
  return i;
}
int bar(int *q)
{
  int *p;
  *q = 0;
  int j = foo(&p);
  return *p + j;  /* { dg-warning "dereferencing uninitialized" } */
}


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rguenth at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2009-02-02 14:03:04
   date||


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



[Bug target/39082] New: union with long double doesn't follow x86-64 psABI

2009-02-02 Thread hjl dot tools at gmail dot com
x86-64 psABI says:

The 64-bit mantissa of arguments of type {long double
belongs to class X87, the 16-bit exponent plus 6 bytes of padding
belongs to class X87UP.

...

If one of the classes is X87, X87UP, COMPLEX\_X87 class,
MEMORY is used as class.

But I got

[...@gnu-6 avx-abi]$ cat u4.i
union sse2
{
  int i;
  long double x;
};

long double
bar2 (union sse2 x)
{
  return x.x;
}

long double
foo2 (long double x)
{
  union sse2 y;
  y.x = x;
  return bar2 (y);
}
[...@gnu-6 avx-abi]$ gcc -S  u4.i -O -fno-asynchronous-unwind-tables
[...@gnu-6 avx-abi]$ cat u4.s
.file   "u4.i"
.text
.globl bar2
.type   bar2, @function
bar2:
movq%rdi, -24(%rsp)
movq%xmm0, -16(%rsp)
fldt-24(%rsp)
ret
.size   bar2, .-bar2
.globl foo2
.type   foo2, @function
foo2:
subq$24, %rsp
movq32(%rsp), %rax
movl40(%rsp), %edx
movq%rax, (%rsp)
movl%edx, 8(%rsp)
movq(%rsp), %rdi
movq8(%rsp), %xmm0
callbar2
addq$24, %rsp
ret
.size   foo2, .-foo2

Dave, does icc follow psABI?


-- 
   Summary: union with long double doesn't follow x86-64 psABI
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: hjl dot tools at gmail dot com
GCC target triplet: x86_64-*-linux-gnu


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



[Bug debug/39073] [4.4 Regression] unable to debug CP2K (no local symbols)

2009-02-02 Thread jv244 at cam dot ac dot uk


--- Comment #8 from jv244 at cam dot ac dot uk  2009-02-02 12:14 ---
(In reply to comment #7)

> 2) report this to gdb and help them fix it.

OK, I've at least been able to add a PR for this in the gdb bugzilla:

http://sourceware.org/bugzilla/show_bug.cgi?id=9806


-- 


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



[Bug c++/39050] [c++0x] rvalue reference & copy construction issue

2009-02-02 Thread s dot gesemann at gmail dot com


--- Comment #1 from s dot gesemann at gmail dot com  2009-02-02 15:18 
---
This is probably just another manifestation of the same bug (#36744)

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


-- 


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



[Bug tree-optimization/38977] [4.4 Regression] bash no longer builds with profile-feedback

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


--- Comment #11 from sje at cup dot hp dot com  2009-02-02 16:27 ---
Has anyone tested the patch in comment #9.  I didn't test it with bash but I
did test it with Python (PR 38292) because I was looking at that bug and it
seemed to fix the problem.


-- 

sje at cup dot hp dot com changed:

   What|Removed |Added

 CC||sje at cup dot hp dot com


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



[Bug c++/39077] GCSE-optimization causes enormous binary size increase (~20 times !)

2009-02-02 Thread comer352l at googlemail dot com


--- Comment #1 from comer352l at googlemail dot com  2009-02-02 16:22 
---
Created an attachment (id=17229)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17229&action=view)
Preprocessed file (created with gcc4.3.2)


-- 


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



[Bug c++/39056] [4.4 regression] [c++0x] ICE with invalid initializer list for complex variable

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


--- Comment #1 from jakub at gcc dot gnu dot org  2009-02-02 11:18 ---
I think this depends on whether we want as an exception allow this or not.

If not, e.g.:
--- typeck2.c.jj22009-01-13 18:32:14.0 +0100
+++ typeck2.c2009-02-02 12:15:58.0 +0100
@@ -789,7 +789,8 @@ digest_init_r (tree type, tree init, boo
 }

   /* Handle scalar types (including conversions) and references.  */
-  if (TREE_CODE (type) != COMPLEX_TYPE
+  if ((TREE_CODE (type) != COMPLEX_TYPE
+   || BRACE_ENCLOSED_INITIALIZER_P (init))
   && (SCALAR_TYPE_P (type) || code == REFERENCE_TYPE))
 {
   tree *exp;

gets rid of the ICE, instead it will reject it with:
pr39056.C:1: error: cannot convert '' to 'int
__complex__' in initialization


-- 


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



[Bug tree-optimization/38964] TBAA side-effects of C++ new still missing

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


--- Comment #4 from rguenth at gcc dot gnu dot org  2009-02-02 10:24 ---
Nice testcase from PR38503:

inline void *operator new (__SIZE_TYPE__, void *__p) throw() { return __p; }

struct Y {
  Y() {}
  int i;
};

struct X {
  X() {}
  void construct(const Y& y)
  {
new (&m_data[0]) Y(y);
  }
  template 
  Y& get() { return reinterpret_cast(m_data); }
  bool initialized;
  char m_data[sizeof (Y)];
};

X x;

void bar(const X&);
void foo(Y& y)
{
  x.get() = y;
  x.initialized = true;
  bar(x);
}

we have to assume that any globally accessible decl has a different dynamic
type than its declared type.  Thus we may not apply TBAA to any ESCAPED
symbol.


-- 


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



[Bug tree-optimization/39074] PTA constraint processing for *x = y is wrong

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


--- Comment #2 from rguenth at gcc dot gnu dot org  2009-02-02 14:07 ---
Created an attachment (id=17227)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17227&action=view)
patch to warn about uninitialized pointer dereferences

This patch causes a warning for both testcases, the program and the PTA bug.


-- 


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



[Bug target/39065] libiberty hashtab.c:hash_pointer() needs intptr_t

2009-02-02 Thread sezeroz at gmail dot com


--- Comment #3 from sezeroz at gmail dot com  2009-02-02 22:59 ---
(In reply to comment #2)
> You should put the new code in a #ifdef HAVE_STDINT and use the old code
> otherwise.  Else, any platforms without stdint.h would not compile.
> 

I would do that and it would be easy, but then one may say that having intptr_t
doesn't have to depend on having stdint.h: in MSVC, for one, you get it via the
stddef.h header. Maybe adding an AC_CHECK_TYPE(intptr_t,long) to configure.ac 
would be better solution?


-- 


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



[Bug c/39034] Decimal floating-point math done wrong

2009-02-02 Thread bje at gcc dot gnu dot org


--- Comment #4 from bje at gcc dot gnu dot org  2009-02-02 23:03 ---
Subject: Bug 39034

Author: bje
Date: Mon Feb  2 23:03:20 2009
New Revision: 143884

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=143884
Log:
PR c/39034
* gcc.dg/dfp/pr39034.c: New test.

Added:
trunk/gcc/testsuite/gcc.dg/dfp/pr39034.c
Modified:
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug tree-optimization/39075] alignment for "unsigned short a[10000]" vs "extern unsigned short a[10000]"

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


--- Comment #3 from rguenth at gcc dot gnu dot org  2009-02-02 14:55 ---
Err, it seems at least the x86_64 ABI guarantees alignment of 16 bytes for
arrays bigger than 16 bytes (including variable length arrays).


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|normal  |enhancement
 Status|RESOLVED|UNCONFIRMED
 Resolution|INVALID |


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



[Bug debug/39073] [4.4 Regression] unable to debug CP2K (no local symbols)

2009-02-02 Thread burnus at gcc dot gnu dot org


--- Comment #3 from burnus at gcc dot gnu dot org  2009-02-02 09:45 ---
Hmm, maybe this is only a gdb bug / missing feature.

$ gfortran-4.4 -O0 -g aaa.f90
$ idbc a.out
Intel(R) Debugger for applications running on Intel(R) 64, Version 11.1 Beta,
Build [1.2097.2.21]
[...]
(idb) b 6
Breakpoint 1 at 0x4006e4: file /dev/shm/aaa.f90, line 6.
(idb) run
[...]
6 if(i == 8) call abort()
(idb) pt i
type = INTEGER(4)
(idb) p i
$1 = 1


-- 


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



[Bug c++/38928] infinite loop on error message in C++ only

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


--- Comment #7 from paolo dot carlini at oracle dot com  2009-02-02 10:19 
---
Ok Mark, agreed, thanks. For the moment, I'm not going to work on this one and
I'm unassigning myself in order not to prevent anyone else quicker than me...


-- 

paolo dot carlini at oracle dot com changed:

   What|Removed |Added

 AssignedTo|paolo dot carlini at oracle |unassigned at gcc dot gnu
   |dot com |dot org
 Status|ASSIGNED|NEW


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



[Bug inline-asm/39078] New: Registers in on clober list are cloberred when compiled with optimization (x86_64) ?

2009-02-02 Thread valery_reznic at yahoo dot com
Source file:


file test.c
===
#define __NR_close 2
#define CLOBBER_LIST "memory", "cc", "r11", "r12", "r13", "r14", "r15", "rbx"
#define MY_SYSCALL_1(ARG)  
  \
__extension__ ((   
  \
{  
  \
register unsigned long result; 
  \
register unsigned long _arg1 asm("rdi") = (unsigned
long)ARG; \
asm volatile ( 
  \
"call my_syscall\n\t"  
  \
: "=a" (result)
  \
: "0" (__NR_close), "r" (_arg1)
  \
: CLOBBER_LIST 
  \
); 
  \
result;
  \
} ))   
  \

void func_1(int arg)
{
MY_SYSCALL_1(arg);
}


Compilation command:

gcc  -O2 -S -o test.S test.c

Output file (test.S)
=
.file   "bb.c"
.text
.p2align 4,,15
.globl func_1
.type   func_1, @function
func_1:
.LFB2:
movq%rbx, -40(%rsp)
.LCFI0:
movq%r12, -32(%rsp)
.LCFI1:
movslq  %edi,%rdi
movq%r13, -24(%rsp)
.LCFI2:
movq%r14, -16(%rsp)
.LCFI3:
movl$2, %eax
movq%r15, -8(%rsp)
.LCFI4:
#APP
call my_syscall

#NO_APP
movq-40(%rsp), %rbx
movq-32(%rsp), %r12
movq-24(%rsp), %r13
movq-16(%rsp), %r14
movq-8(%rsp), %r15
ret
=
All registers mentioned in the CLOBERR_LIST (but r11) are moved to the stack.
Stack pointer doesn't adjusted !!!
Than 'call my_syscall' overwrite on the stack saved value of 'r15'.
Than, future instructions in the 'my_syscall' can overwrite other saved
registers.
After return from 'my_syscall' overwritten values copied to registers.

I.e while compiler tried to save CLOBER_LIST registers' content it failed to do
it.

I tried to compile code both with gcc-3.4.2 (FedoraCore 3) and gcc-4.1.2
(Fedora 8) - results are same.

Result are same when compile with any of -O1,-O2 or -O3.

When compile without optimization, stack pointer is adjusted, i.e generated
code is OK.


-- 
   Summary: Registers in on clober list are cloberred when compiled
with optimization  (x86_64) ?
   Product: gcc
   Version: 4.1.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: inline-asm
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: valery_reznic at yahoo dot com
  GCC host triplet: file bb.c
=
GCC target triplet: x86_64-redhat-linux


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



[Bug debug/39073] [4.4 Regression] unable to debug CP2K (no local symbols)

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


--- Comment #7 from jakub at gcc dot gnu dot org  2009-02-02 11:57 ---
1) eu-readelf -w info.  If you don't have elfutils, binutils readelf -wi
generates similar output, though without the indentation, so it is harder to
find out the parent/child/sibling relation between consecutive DIEs.

2) report this to gdb and help them fix it.


-- 


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



[Bug c++/39056] [4.4 regression] [c++0x] ICE with invalid initializer list for complex variable

2009-02-02 Thread jason at gcc dot gnu dot org


--- Comment #2 from jason at gcc dot gnu dot org  2009-02-02 19:02 ---
Jakub's patch looks fine to me.

Benjamin, does you have an opinion about initializer-lists and complex?  I
guess the library complex class will accept { real, imag } naturally because it
has a suitable constructor.

Note that initialization with = { 0 } still works normally, and = { 0, 0 } is
still rejected as having too many initializers for a scalar, like in C.


-- 

jason at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||bkoz at gcc dot gnu dot org


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



[Bug tree-optimization/38844] [4.3/4.4 Regression] deadlock with __attribute__((always_inline)) at -O1 and above

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


--- Comment #12 from hubicka at gcc dot gnu dot org  2009-02-02 16:35 
---
try_inline should not recurse when edge is already inlined.  The following
patch should fix the problem, I will benchmark it tonight
Index: ipa-inline.c
===
--- ipa-inline.c(revision 143680)
+++ ipa-inline.c(working copy)
@@ -1330,16 +1330,18 @@ try_inline (struct cgraph_edge *e, enum 
   cgraph_node_name (e->caller));
 }
   if (e->inline_failed)
-cgraph_mark_inline (e);
+{
+  cgraph_mark_inline (e);

-  /* In order to fully inline always_inline functions, we need to
- recurse here, since the inlined functions might not be processed by
- incremental inlining at all yet.  
+  /* In order to fully inline always_inline functions, we need to
+recurse here, since the inlined functions might not be processed by
+incremental inlining at all yet.  

- Also flattening needs to be done recursively.  */
+Also flattening needs to be done recursively.  */

-  if (mode == INLINE_ALL || always_inline)
-cgraph_decide_inlining_incrementally (e->callee, mode, depth + 1);
+  if (mode == INLINE_ALL || always_inline)
+   cgraph_decide_inlining_incrementally (e->callee, mode, depth + 1);
+}
   callee->aux = (void *)(size_t) callee_mode;
   return true;
 }


-- 


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



[Bug c++/39077] New: GCSE-optimization causes enormous binary size increase (~20 times !)

2009-02-02 Thread comer352l at googlemail dot com
The example attached is a simple data-container-class. The data is stored as
Qt4-QStringLists.
Everything was fine with gcc 4.1 (330KB). 4.2 already caused a significant
increase. With 4.3, the binary size increased enormously again (6.7MB !).

When I disable GCSE-optimization using the additional flag "-fnogcse", I get
normal binary sizes (360KB with 4.3.2).


Command line use for compilation:
g++ -c -pipe -O2 -march=i586 -mtune=i686 -fmessage-length=0 -O2 -Wall
-D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables
-fasynchronous-unwind-tables -g -Wall -W -D_REENTRANT -DQT_NO_DEBUG
-DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/default -I.
-I/usr/include/QtCore -I/usr/include/QtCore -I/usr/include/QtGui
-I/usr/include/QtGui -I/usr/include -I. -Isrc -Isrc/linux -I. -I. -o
SSMprotocol_def_en.o src/SSMprotocol_def_en.cpp

=> no errors or warnings


GCC-info (Output of 'g++ -v'):

Target: i586-suse-linux
Configured with: ../configure --prefix=/usr --infodir=/usr/share/info
--mandir=/usr/share/man --libdir=/usr/lib --libexecdir=/usr/lib
--enable-languages=c,c++,objc,fortran,obj-c++,java,ada
--enable-checking=release --with-gxx-include-dir=/usr/include/c++/4.3
--enable-ssp --disable-libssp --with-bugurl=http://bugs.opensuse.org/
--with-pkgversion='SUSE Linux' --disable-libgcj --disable-libmudflap
--with-slibdir=/lib --with-system-zlib --enable-__cxa_atexit
--enable-libstdcxx-allocator=new --disable-libstdcxx-pch
--enable-version-specific-runtime-libs --program-suffix=-4.3
--enable-linux-futex --without-system-libunwind --with-cpu=generic
--build=i586-suse-linux
Thread model: posix
gcc version 4.3.2 [gcc-4_3-branch revision 141291] (SUSE Linux)


-- 
   Summary: GCSE-optimization causes enormous binary size increase
(~20 times !)
   Product: gcc
   Version: 4.3.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: comer352l at googlemail dot com


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



[Bug inline-asm/39058] [4.3/4.4 regression] ICE with double in inline-asm

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


--- Comment #2 from jakub at gcc dot gnu dot org  2009-02-02 10:06 ---
I think the bug is in check_asm_operands/asm_operand_ok.
The latter has:
case '0': case '1': case '2': case '3': case '4':
case '5': case '6': case '7': case '8': case '9':
  /* For best results, our caller should have given us the
 proper matching constraint, but we can't actually fail
 the check if they didn't.  Indicate that results are
 inconclusive.  */
but the former only handles the simple case:
  if (c[0] == '%')
c++;
  if (ISDIGIT ((unsigned char) c[0]) && c[1] == '\0')
c = constraints[c[0] - '0'];
Together this allows combine to combine something that definitely shouldn't be
combined.


-- 

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 |
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2009-02-02 10:06:53
   date||


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



[Bug bootstrap/39025] ICE in start_function, at c-decl.c:6225 while configuring libgcc

2009-02-02 Thread ro at gcc dot gnu dot org


--- Comment #1 from ro at gcc dot gnu dot org  2009-02-02 23:43 ---
It turns out that there are two problems here:

* If you invoke cc1 conftest.c (i.e. without -quiet), you get the ICE from the
  assertion failure in c-decl.c:6225:

  /* This is the earliest point at which we might know the assembler
 name of the function.  Thus, if it's set before this, die horribly.  */
  gcc_assert (!DECL_ASSEMBLER_NAME_SET_P (decl1));

  decl1 has an assembler_name of "main" at this point, which is due to this
  change in toplev.c (announce_function):

@@ -419,10 +432,7 @@ announce_function (tree decl)
 {
   if (!quiet_flag)
 {
-  if (rtl_dump_and_exit)
-   fprintf (stderr, "%s ", IDENTIFIER_POINTER (DECL_NAME (decl)));
-  else
-   fprintf (stderr, " %s", lang_hooks.decl_printable_name (decl, 2));
+  fprintf (stderr, "%s ", IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME
(decl)));
   fflush (stderr);
   pp_needs_newline (global_dc->printer) = true;
   diagnostic_set_last_function (global_dc, (diagnostic_info *) NULL);

  Unlike lang_hooks.decl_printable_name, decl_assembler_name sets
assembler_name
  if unset, thus breaking the later assert.  Since announce_functions gards
  this with !quiet_flag, it only breaks without that flag.

* If instead on runs cc1 -g -quiet conftest.c (-g is necessary to trigger the
  bug which breaks configure, -quiet works around the first problem), on gets
  this instead.

> ./cc1 -g -quiet conftest.c
conftest.c:9: internal compiler error: Segmentation Fault

   Running cc1 under gdb reveals

Program received signal SIGSEGV, Segmentation fault.
0x083fdd54 in get_personality_function (decl=0x0) at
/vol/gcc/src/gcc-lto/gcc/expr.h:806
(gdb) where
#0  0x083fdd54 in get_personality_function (decl=0x0) at
/vol/gcc/src/gcc-lto/gcc/expr.h:806
#1  0x08404f08 in output_call_frame_info (for_eh=0) at
/vol/gcc/src/gcc-lto/gcc/dwarf2out.c:2914
#2  0x08405fce in dwarf2out_frame_finish () at
/vol/gcc/src/gcc-lto/gcc/dwarf2out.c:3351
#3  0x0899930a in compile_file () at /vol/gcc/src/gcc-lto/gcc/toplev.c:1023
#4  0x0899acc4 in do_compile () at /vol/gcc/src/gcc-lto/gcc/toplev.c:2220
#5  0x0899ad2b in toplev_main (argc=4, argv=0x80476cc) at
/vol/gcc/src/gcc-lto/gcc/toplev.c:2252
#6  0x0821c2f9 in main (argc=4, argv=0x80476cc) at
/vol/gcc/src/gcc-lto/gcc/main.c:35

  I.e. get_personality_function is called with current_function_decl = NULL.


-- 


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



[Bug middle-end/36296] bogus uninitialized warning (loop representation, VRP missed-optimization)

2009-02-02 Thread av1474 at comtv dot ru


--- Comment #14 from av1474 at comtv dot ru  2009-02-02 23:44 ---
(In reply to comment #8)
> Please provide a preprocessed reduced testcase as similar to the original as
> possible. 
> 
> I think this is not only predicated PHI but our representation of loops may
> also have something to do.
> 

I'm not sure whether following warrants a new bug entry so doing it here,
sorry,
if it was inappropriate.

Following code, triggers:
 "repro.c:5: warning: 'b' may be used uninitialized in this function"
with 4.3.0 and 4.3.1 on PowerPC when invoked like this:

gcc -c -O -Wuninitialized repro.c

int f (void);

int g (int a)
{
int b;

if (a) b = f ();
asm volatile ("#");
if (a) return b;
return 1;
}


-- 


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



[Bug c++/39017] ice for legal C++ with -O3

2009-02-02 Thread reichelt at gcc dot gnu dot org


--- Comment #3 from reichelt at gcc dot gnu dot org  2009-02-02 23:46 
---
Looks indeed like a duplicate.
I can reproduce the bug with GCC 4.4-20090123, but not with GCC 4.4-20090131.


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


-- 

reichelt at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug tree-optimization/38926] [4.4 Regression] ice in find_or_generate_expression, at tree-ssa-pre.c:2769

2009-02-02 Thread reichelt at gcc dot gnu dot org


--- Comment #11 from reichelt at gcc dot gnu dot org  2009-02-02 23:46 
---
*** Bug 39017 has been marked as a duplicate of this bug. ***


-- 

reichelt at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||dcb314 at hotmail dot com


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



[Bug middle-end/36296] bogus uninitialized warning (loop representation, VRP missed-optimization)

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


--- Comment #15 from manu at gcc dot gnu dot org  2009-02-03 00:27 ---
(In reply to comment #14)
> I'm not sure whether following warrants a new bug entry so doing it here,
> sorry,
> if it was inappropriate.

That is a different case. This PR is about loops. Your case is about 
initialization and use guarded by the same predicate. I think there is already
a bug report for this. But it is always better to open a new bug report in case
of doubt.


-- 


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



[Bug c++/29974] Segmentation fault on simple input file. Omission of #include prevents error. WinXP x64, cygwin

2009-02-02 Thread dannysmith at users dot sourceforge dot net


--- Comment #4 from dannysmith at users dot sourceforge dot net  2009-02-03 
02:02 ---

>  /usr/lib/gcc/i686-pc-cygwin/3.4.4/cc1plus.exe -quiet -v -D__CYGWIN32__
> -D__CYGWIN__ -Dunix -
> D__unix__ -D__unix -idirafter
> /usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../include/w32api -i
> dirafter
> /usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/lib/../../include/w32ap
> i testFail.h -quiet -dumpbase testFail.h -mtune=pentiumpro -auxbase testFail
> -version -o /cyg
> drive/c/DOCUME~1/JAMESF~1/LOCALS~1/Temp/ccGNtP5T.s --output-pch=testFail.h.gch


PCH support for cywgin  was not available until 4.0 series.  Your testcase
compiles correctly on cygwin with recent (>=4.1) gcc. 


-- 

dannysmith at users dot sourceforge dot net changed:

   What|Removed |Added

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


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



[Bug c++/38950] [4.3/4.4 regression] ICE: deducing function template arguments for array type.

2009-02-02 Thread schaub-johannes at web dot de


--- Comment #4 from schaub-johannes at web dot de  2009-02-03 02:02 ---
Yes, sorry for not mentioning it. I also think the code is valid. In the link
to stackoverflow.com, where i answered that guys question, i gave reasons why i
think so. Next time i will put what i think about that directly into the
bugreport :)


-- 


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



[Bug libfortran/39083] New: stage 3 libgfortran build fails

2009-02-02 Thread tony_eckert at umsl dot edu
appears to be similar to reported bug against 4.3.2


-- 
   Summary: stage 3 libgfortran build fails
   Product: gcc
   Version: 4.3.3
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libfortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: tony_eckert at umsl dot edu
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


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



[Bug libfortran/39083] stage 3 libgfortran build fails

2009-02-02 Thread tony_eckert at umsl dot edu


--- Comment #1 from tony_eckert at umsl dot edu  2009-02-03 04:33 ---
appears similar to bug 37865, but without --enable-intermodule.
Only departure from defaults is --prefix


-- 


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



Re: [Bug libfortran/39083] stage 3 libgfortran build fails

2009-02-02 Thread Andrew Thomas Pinski



Sent from my iPhone

On Feb 2, 2009, at 8:33 PM, "tony_eckert at umsl dot edu" > wrote:





--- Comment #1 from tony_eckert at umsl dot edu  2009-02-03  
04:33 ---

appears similar to bug 37865, but without --enable-intermodule.
Only departure from defaults is --prefix


Are you building in the source tree?





--


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



[Bug libfortran/39083] stage 3 libgfortran build fails

2009-02-02 Thread pinskia at gmail dot com


--- Comment #2 from pinskia at gmail dot com  2009-02-03 04:35 ---
Subject: Re:  stage 3 libgfortran build fails



Sent from my iPhone

On Feb 2, 2009, at 8:33 PM, "tony_eckert at umsl dot edu"
 wrote:

>
>
> --- Comment #1 from tony_eckert at umsl dot edu  2009-02-03  
> 04:33 ---
> appears similar to bug 37865, but without --enable-intermodule.
> Only departure from defaults is --prefix

Are you building in the source tree?

>
>
>
> -- 
>
>
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39083
>


-- 


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



[Bug fortran/39072] I/O READing logical value beyond end of string

2009-02-02 Thread jvdelisle at gcc dot gnu dot org


--- Comment #3 from jvdelisle at gcc dot gnu dot org  2009-02-03 04:43 
---
I believe gfortran is correct as far as giving an error.  The last logical
value does not begin with a T(t) or F(f).

On the commented out case gfortran agrees with g77.  The string has one extra
space in it so it misses the 1 character wide logical field.  Adjusting that
one byte, both gfortran and g77 get a valid read.

The only thing remaining here to me is are we attempting to read past the end
of record with the error case and so should we really be giving an EOR.


-- 


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



[Bug target/35318] [4.3/4.4 regression] ICE with inline asm in reload

2009-02-02 Thread reichelt at gcc dot gnu dot org


--- Comment #7 from reichelt at gcc dot gnu dot org  2009-02-03 07:12 
---
The ICE reappeared on the trunk:

bug.c:5: internal compiler error: output_operand: floating constant misused
Please submit a full bug report, [etc.]

Jakub, this was probably caused by your the patch for PR39058.
Maybe the IRA merge just papered over the real problem.


-- 

reichelt at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu dot org
Summary|[4.3 regression] ICE with   |[4.3/4.4 regression] ICE
   |inline asm in reload|with inline asm in reload


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