[Bug c++/27052] When using excessive -ftemplate-depth g++ overflows the stack

2006-04-06 Thread pinskia at gcc dot gnu dot org


--- Comment #3 from pinskia at gcc dot gnu dot org  2006-04-06 06:14 ---
Yes this is just a stack overflow, I don't know if there is anything that cane
be done here since this is one of the reasons why -ftemplate-depth was added. 
I don't know what the standard says about how this limit has to be.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|When using excessive -  |When using excessive -
   |ftemplate-depth g++ |ftemplate-depth g++
   |segfaults   |overflows the stack


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



[Bug target/27051] Compiler generates .sdata when -mno-sdata specified

2006-04-06 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-04-06 06:17 ---
embedded ia64, that is a new one.


-- 


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



[Bug c++/27053] New: symbol2.c:2102: internal error: Segmentation fault when i try to compile gSOAP in cross compilation

2006-04-06 Thread sauvageon dot y at voila dot fr
hi

I've got a problem when I try to make a cross compilation of the gSOAP toolkit
 from a i686-pc-cygwin to i586-hadhat-linux.

I downloaded the gSOAP toolkit from
here:http://sourceforge.net/project/showfiles.php?group_id=52781package_id=68161release_id=394790
it's the version : gSOAP 2.7.6e

for the error, it told me :

Please submit a full bug report,
with preprocessed source if appropriate.
See URL:http://www.gnu.org/software/gcc/bugs.html for instructions.

So, it's what i am doing, cause i don't find how to correct the error.

So i give you :

-the exact version of GCC :
GNU CPP version 3.2.1 20020930 (MontaVista) (cpplib) (i386 Linux/ELF)
GNU C version 3.2.1 20020930 (MontaVista) (i586-hardhat-linux)



-the options given when GCC was configured/built:
Configured with: /opt/src/gcc-3.2/configure -v --host=i686-pc-cygwin
--build=i686-pc-cygwin --target=i586-hardhat-linux 
--prefix=/opt/hardhat/devkit/x86/586_mv30
--exec-prefix=/opt/hardhat/devkit/x86/586_mv30
--bindir=/opt/hardhat/devkit/x86/586_mv30/bin 
--sbindir=/opt/hardhat/devkit/x86/586_mv30/sbin
--sysconfdir=/opt/hardhat/devkit/x86/586_mv30/etc
--datadir=/opt/hardhat/devkit/x86/586_mv30/share 
--includedir=/opt/hardhat/devkit/x86/586_mv30/include
--libdir=/opt/hardhat/devkit/x86/586_mv30/lib
--libexecdir=/opt/hardhat/devkit/x86/586_mv30/libexec 
--localstatedir=/opt/hardhat/devkit/x86/586_mv30/var
--sharedstatedir=/opt/hardhat/devkit/x86/586_mv30/share
--mandir=/opt/hardhat/devkit/x86/586_mv30/man 
--infodir=/opt/hardhat/devkit/x86/586_mv30/info
--program-transform-name=s,^,586-, --enable-cross --enable-shared
--enable-languages=c,c++ --enable-threads 
--with-gxx-include-dir=/opt/hardhat/devkit/x86/586_mv30/i586-hardhat-linux/include/g++-3
--with-fp --with-cpu=i386
--with-local-prefix=/opt/hardhat/devkit/x86/586_mv30/i586-hardhat-linux



-the compiler output (error messages, warnings, etc.): 

make[4]: Entering directory
`/cygdrive/c/Stage/workspacegSOAP/gSOAP/soapcpp2/src'
if i586-hardhat-linux-gcc -DHAVE_CONFIG_H -I. -I. -I../..-DWITH_BISON
-DWITH_FLEX  -DLINUX -v -save-temps  -g -O2 -MT soapcpp2-symbol2.o -MD -MP -MF
.deps/soapcpp2-symbol2.Tpo -c -o soapcpp2-symbol2.o `test -f 'symbol2.c' ||
echo './'`symbol2.c; \
then mv -f .deps/soapcpp2-symbol2.Tpo .deps/soapcpp2-symbol2.Po; else rm -f
.deps/soapcpp2-symbol2.Tpo; exit 1; fi
Reading specs from /usr/bin/../lib/gcc-lib/i586-hardhat-linux/3.2.1/specs
Configured with: /opt/src/gcc-3.2/configure -v --host=i686-pc-cygwin
--build=i686-pc-cygwin --target=i586-hardhat-linux
--prefix=/opt/hardhat/devkit/x86/586_mv30
--exec-prefix=/opt/hardhat/devkit/x86/586_mv30
--bindir=/opt/hardhat/devkit/x86/586_mv30/bin
--sbindir=/opt/hardhat/devkit/x86/586_mv30/sbin
--sysconfdir=/opt/hardhat/devkit/x86/586_mv30/etc
--datadir=/opt/hardhat/devkit/x86/586_mv30/share
--includedir=/opt/hardhat/devkit/x86/586_mv30/include
--libdir=/opt/hardhat/devkit/x86/586_mv30/lib
--libexecdir=/opt/hardhat/devkit/x86/586_mv30/libexec
--localstatedir=/opt/hardhat/devkit/x86/586_mv30/var
--sharedstatedir=/opt/hardhat/devkit/x86/586_mv30/share
--mandir=/opt/hardhat/devkit/x86/586_mv30/man
--infodir=/opt/hardhat/devkit/x86/586_mv30/info
--program-transform-name=s,^,586-, --enable-cross --enable-shared
--enable-languages=c,c++ --enable-threads
--with-gxx-include-dir=/opt/hardhat/devkit/x86/586_mv30/i586-hardhat-linux/include/g++-3
--with-fp --with-cpu=i386
--with-local-prefix=/opt/hardhat/devkit/x86/586_mv30/i586-hardhat-linux
Thread model: posix
gcc version 3.2.1 20020930 (MontaVista)
 /usr/bin/../lib/gcc-lib/i586-hardhat-linux/3.2.1/cpp0.exe -lang-c -v -I. -I.
-I../.. -iprefix /usr/bin/../lib/gcc-lib/i586-hardhat-linux/3.2.1/ -MD
soapcpp2-symbol2.d -MF .deps/soapcpp2-symbol2.Tpo -MP -MT soapcpp2-symbol2.o
-MQ soapcpp2-symbol2.o -D__GNUC__=3 -D__GNUC_MINOR__=2 -D__GNUC_PATCHLEVEL__=1
-D__GXX_ABI_VERSION=102 -D__ELF__ -Dunix -D__gnu_linux__ -Dlinux -D__ELF__
-D__unix__ -D__gnu_linux__ -D__linux__ -D__unix -D__linux -Asystem=posix
-D__OPTIMIZE__ -D__STDC_HOSTED__=1 -Acpu=i386 -Amachine=i386 -Di386 -D__i386
-D__i386__ -D__tune_i386__ -DHAVE_CONFIG_H -DWITH_BISON -DWITH_FLEX -DLINUX
symbol2.c symbol2.i
GNU CPP version 3.2.1 20020930 (MontaVista) (cpplib) (i386 Linux/ELF)
ignoring nonexistent directory /usr/target/usr/include
ignoring duplicate directory .
#include ... search starts here:
#include ... search starts here:
 .
 ../..
 /usr/lib/gcc-lib/i586-hardhat-linux/3.2.1/include
 /usr/i586-hardhat-linux/include
End of search list.
 /usr/bin/../lib/gcc-lib/i586-hardhat-linux/3.2.1/cc1.exe -fpreprocessed
symbol2.i -quiet -dumpbase symbol2.c -mcpu=i386 -g -O2 -version -o symbol2.s
GNU CPP version 3.2.1 20020930 (MontaVista) (cpplib) (i386 Linux/ELF)
GNU C version 3.2.1 20020930 (MontaVista) (i586-hardhat-linux)
compiled by GNU C version 3.2 20020927 (prerelease).
symbol2.c: In function `gen_wsdl':
symbol2.c:2102: internal error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See 

[Bug target/27054] New: C constant expressions vs. IBM extended format long double

2006-04-06 Thread jakub at gcc dot gnu dot org
static const double coeff[] = { +854513.0l /138 };
compiles as C almost everywhere, except ppc* with -mlong-double-128
-mabi=ibmlongdouble.
const_binop refuses to compute this:
  /* Don't constant fold this floating point operation if the
 result may dependent upon the run-time rounding mode and
 flag_rounding_math is set, or if GCC's software emulation
 is unable to accurately represent the result.  */

  if ((flag_rounding_math
   || (REAL_MODE_FORMAT_COMPOSITE_P (mode)
!flag_unsafe_math_optimizations))
   (inexact || !real_identical (result, value)))
return NULL_TREE;

Now, is the above valid ISO C99?  I couldn't find anything that would say this
is not a valid constant expression, certainly it fits into double's range.
Perhaps we should differentiate here if we are evaluating an initializer or
not.


-- 
   Summary: C constant expressions vs. IBM extended format long
double
   Product: gcc
   Version: 4.1.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jakub at gcc dot gnu dot org
GCC target triplet: powerpc*-linux


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



[Bug target/27006] [4.1/4.2 Regression] Invalid altivec constant loading code

2006-04-06 Thread bonzini at gnu dot org


--- Comment #3 from bonzini at gnu dot org  2006-04-06 10:56 ---
For 4.1 I'd surely go with Ulrich's patch.  And for 4.2 I think that it starts
being too expensive to have two vsplat and two adds.

vspltisw 0,15
vspltisw 1,1
vadduwm 0,0,0
vadduwm 0,0,1

Ulrich, can you prepare a patch or should I do so?


-- 


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



[Bug c++/23372] [4.0/4.1/4.2 Regression] Temporary aggregate copy not elided when passing parameters by value

2006-04-06 Thread guillaume dot melquiond at ens-lyon dot fr


--- Comment #36 from guillaume dot melquiond at ens-lyon dot fr  2006-04-06 
10:59 ---
The generated code is getting both better and worse. I just tested with GCC
4.1, and there is now a byte-by-byte (!) copy instead of memcpy. So not only
does GCC use superfluous copies, but it generates code such that these copies
are the slowest possible. On the other hand, there is only one copy left. So
this is better than GCC 4.0, but still worse than GCC 3.4.

pushl   %ebp
movl%esp, %ebp
pushl   %ebx
subl$8004, %esp
leal-4004(%ebp), %ebx
movl%ebx, (%esp)
callf
xorl%edx, %edx
subl$4, %esp
.L3:
cmpl$4000, %edx
jb  .L2
callg
movl-4(%ebp), %ebx
leave
ret
.p2align 4,,7
.L2:
movzbl  (%ebx,%edx), %eax
movb%al, (%esp,%edx)
incl%edx
jmp .L3


-- 


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



[Bug c/27055] New: Structures are copied byte by byte into function arguments

2006-04-06 Thread guillaume dot melquiond at ens-lyon dot fr
I tried the following testcase with various GCC versions available as Debian
packages. With 3.3.5, the copy from *a to the stack frame of g is done
word-by-word with rep movsl. With 3.4.4, it is done by memcpy. Both previous
methods are fine. With 3.4.6, the copy is done byte-by-byte without string
opcodes. With 4.0.3 and 4.1.0, it is done byte-by-byte and out-of-line: there
are two jumps for each copied byte! So argument copy got broken for x86 during
GCC 3.4 cycle and it did not get any better with GCC 4.

typedef struct A { int a[1000]; } A;
void g(A);
void f(A *a) { g(*a); }

Assembly output with GCC4 and -O3 optimization:

pushl   %ebp
xorl%edx, %edx
movl%esp, %ebp
subl$4008, %esp
movl8(%ebp), %ecx
.L3:
cmpl$4000, %edx
jb  .L2
callg
leave
ret
.p2align 4,,7
.L2:
movzbl  (%ecx,%edx), %eax
movb%al, (%esp,%edx)
incl%edx
.p2align 4,,3
jmp .L3

$ LANG=C gcc-3.4 -v
Reading specs from /usr/lib/gcc/i486-linux-gnu/3.4.6/specs
Configured with: ../src/configure -v --enable-languages=c,c++,f77,pascal
--prefix=/usr --libexecdir=/usr/lib --with-gxx-include-dir=/usr/include/c++/3.4
--enable-shared --with-system-zlib --enable-nls --without-included-gettext
--program-suffix=-3.4 --enable-__cxa_atexit --enable-clocale=gnu
--enable-libstdcxx-debug --with-tune=i686 i486-linux-gnu
Thread model: posix
gcc version 3.4.6 (Debian 3.4.6-1)

$ LANG=C gcc-4.1 -v
Using built-in specs.
Target: i486-linux-gnu
Configured with: ../src/configure -v
--enable-languages=c,c++,java,fortran,objc,obj-c++,ada,treelang --prefix=/usr
--enable-shared --with-system-zlib --libexecdir=/usr/lib
--without-included-gettext --enable-threads=posix --enable-nls
--program-suffix=-4.1 --enable-__cxa_atexit --enable-clocale=gnu
--enable-libstdcxx-debug --enable-java-awt=gtk --enable-gtk-cairo
--with-java-home=/usr/lib/jvm/java-1.4.2-gcj-4.1-1.4.2.0/jre --enable-mpfr
--with-tune=i686 --enable-checking=release i486-linux-gnu
Thread model: posix
gcc version 4.1.0 (Debian 4.1.0-1)


-- 
   Summary: Structures are copied byte by byte into function
arguments
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: guillaume dot melquiond at ens-lyon dot fr
GCC target triplet: i486-linux-gnu


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



[Bug tree-optimization/27056] New: ICE in loop_depth_of_name

2006-04-06 Thread jakub at gcc dot gnu dot org
On the attached testcase with today's gcc-4_1-branch
-m32 -g -O2 I get ICE during copy propagation.  Unfortunately, even doing minor
changes in different routines makes the problem go away.
What I see in the dumps is:
1) at *t26.ssa, in draw_digit, there are two SSA_NAMEs with version 2:
...
  D.52296_2 = dD.52286_1 * 2;
  #   VUSE digit_texture_coordsD.52285_3;
  x1D.52291_4 = digit_texture_coordsD.52285[D.52296_2];
  D.52296_5 = dD.52286_1 * 2;
  D.52297_6 = D.52296_5 + 1;
  #   VUSE digit_texture_coordsD.52285_3;
  y1D.52292_7 = digit_texture_coordsD.52285[D.52297_6];
  x2D.52293_8 = x1D.52291_4 + 2.5e-1;
  y2D.52294_9 = y1D.52292_7 + 2.5e-1;
  #   VUSE cfgD.24335_2;
...
2) when DCE is run, it first sees cfgD.24335_2 and sets bit 2 in processed
bitmap
in mark_operand_necessary, later on thus removes the D.52296_2 = dD.52286_1 *
2;
statement as dead, eventhough it is not dead, yet keeps the other 2 uses of
D.52296_2 around
3) in copyprop, we look at D.52296_2 which is on the free list in the mean time
and crash because it's SSA_NAME_DEF_STMT is NULL in bb_for_stmt called from
loop_depth_of_name.  Is already 1) a bug?

BTW, in *t26.ssa I see cfgD.24335_2 being used in 2 different functions,
load_background_image and draw_digit, in both cases only in VUSE.
Maybe some tree sharing issue?


-- 
   Summary: ICE in loop_depth_of_name
   Product: gcc
   Version: 4.1.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jakub at gcc dot gnu dot org
GCC target triplet: x86_64-linux


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



[Bug tree-optimization/27056] ICE in loop_depth_of_name

2006-04-06 Thread jakub at gcc dot gnu dot org


--- Comment #1 from jakub at gcc dot gnu dot org  2006-04-06 11:51 ---
Created an attachment (id=11216)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11216action=view)
188125.ii.bz2


-- 


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



[Bug c/27055] Structures are copied byte by byte into function arguments

2006-04-06 Thread gdr at integrable-solutions dot net


--- Comment #1 from gdr at integrable-solutions dot net  2006-04-06 12:03 
---
Subject: Re:   New: Structures are copied byte by byte into function arguments

guillaume dot melquiond at ens-lyon dot fr [EMAIL PROTECTED] writes:

[...]

| With 3.4.6, the copy is done byte-by-byte without string
| opcodes. With 4.0.3 and 4.1.0, it is done byte-by-byte and
| out-of-line: there are two jumps for each copied byte! So argument
| copy got broken for x86 during GCC 3.4 cycle and it did not get any
| better with GCC 4. 

That is insane, if I may.

-- Gaby


-- 


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



[Bug c++/27052] When using excessive -ftemplate-depth g++ overflows the stack

2006-04-06 Thread gcc at magfr dot user dot lysator dot liu dot se


--- Comment #4 from gcc at magfr dot user dot lysator dot liu dot se  
2006-04-06 12:08 ---
The standard says the limit have to be more than 17, the g++ default is 500 in
order, I assume, to be nice to users.

The reason I reported the bug was that the compiler terminated with an internal
error instead of a controlled error.


-- 


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



[Bug libstdc++/26875] Array allocator use count is shared between array_allocator instances

2006-04-06 Thread bkoz at gcc dot gnu dot org


-- 

bkoz at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |bkoz at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2006-03-27 08:29:11 |2006-04-06 12:23:16
   date||


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



[Bug c++/27052] When using excessive -ftemplate-depth g++ overflows the stack

2006-04-06 Thread gdr at integrable-solutions dot net


--- Comment #5 from gdr at integrable-solutions dot net  2006-04-06 12:23 
---
Subject: Re:  When using excessive -ftemplate-depth g++ overflows the stack

gcc at magfr dot user dot lysator dot liu dot se [EMAIL PROTECTED]
writes:

| The standard says the limit have to be more than 17,

No, the standard did not say that.  the standard just said there is an
implementation defined limit.  An implementation may define that limit
to be infinite.

-- Gaby


-- 


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



[Bug debug/27057] New: [4.0/4.1/4.2 Regression] ICE with -feliminate-dwarf2-dups and using namespace

2006-04-06 Thread jakub at gcc dot gnu dot org
// { dg-do compile }
// { dg-options -g -feliminate-dwarf2-dups }

namespace N
{
}

struct A
{
  void foo ();
};

void A::foo ()
{
  using namespace N;
}

ICEs with gcc-4_{0,1}-branch and HEAD in build_abbrev_table, as
DW_TAG_namespace
die that is being referenced doesn't have die_symbol.


-- 
   Summary: [4.0/4.1/4.2 Regression] ICE with -feliminate-dwarf2-
dups and using namespace
   Product: gcc
   Version: 4.1.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: debug
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jakub at gcc dot gnu dot org


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



[Bug c/27055] Structures are copied byte by byte into function arguments

2006-04-06 Thread pluto at agmk dot net


--- Comment #2 from pluto at agmk dot net  2006-04-06 12:49 ---
for -march=i{345}86 I get:

f:
pushl   %ebp
movl%esp, %ebp
subl$4008, %esp
movl%esp, %eax
pushl   %edx
pushl   $4000
pushl   8(%ebp)
pushl   %eax
callmemcpy
addl$16, %esp
callg
addl$4000, %esp
leave
ret

for -march=i686,pentium2,... I get:

f:
pushl   %ebp
xorl%edx, %edx
movl%esp, %ebp
subl$4008, %esp
movl8(%ebp), %ecx
.L3:
cmpl$4000, %edx
jb  .L2
callg
leave
ret
.p2align 4,,7
.L2:
movzbl  (%ecx,%edx), %eax
movb%al, (%esp,%edx)
incl%edx
.p2align 4,,3
jmp .L3


$ gcc version 4.1.1 20060405 (prerelease) (PLD-Linux)


-- 


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



[Bug c++/27052] When using excessive -ftemplate-depth g++ overflows the stack

2006-04-06 Thread gcc at magfr dot user dot lysator dot liu dot se


--- Comment #6 from gcc at magfr dot user dot lysator dot liu dot se  
2006-04-06 12:52 ---
(In reply to comment #5)
 gcc at magfr dot user dot lysator dot liu dot se [EMAIL PROTECTED]
 writes:
 
 | The standard says the limit have to be more than 17,
 
 No, the standard did not say that.  the standard just said there is an
 implementation defined limit.  An implementation may define that limit
 to be infinite.

I am sorry for beeing imprecise. The standard says that it is implementation
defined and goes on to recommend that it should be at least 17.

( As an aside that suggests that you could have a strictly conforming
implementation where the max limit is 0, but that discussion is more fitting on
comp.std.c++)


-- 


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



[Bug c/27055] Structures are copied byte by byte into function arguments

2006-04-06 Thread guillaume dot melquiond at ens-lyon dot fr


--- Comment #3 from guillaume dot melquiond at ens-lyon dot fr  2006-04-06 
13:05 ---
 for -march=i{345}86 I get
 for -march=i686,pentium2,... I get

Thanks to your tests, I noticed that the change of behavior between GCC 3.4
versions was actually caused by the addition of --with-tune=686 in Debian
packages. In fact, even older versions of GCC 3.4 are doing byte-by-byte copies
once you change the -march target to at least i686. GCC 3.3 is fine though.


-- 


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



Re: [Bug c++/27052] When using excessive -ftemplate-depth g++ overflows the stack

2006-04-06 Thread Gabriel Dos Reis
gcc at magfr dot user dot lysator dot liu dot se [EMAIL PROTECTED] writes:
| ( As an aside that suggests that you could have a strictly conforming
| implementation where the max limit is 0, but that discussion is more fitting 
on
| comp.std.c++)

That is technically correct; but it is beside the point.

-- Gaby


[Bug c++/27052] When using excessive -ftemplate-depth g++ overflows the stack

2006-04-06 Thread gdr at integrable-solutions dot net


--- Comment #7 from gdr at integrable-solutions dot net  2006-04-06 13:09 
---
Subject: Re:  When using excessive -ftemplate-depth g++ overflows the stack

gcc at magfr dot user dot lysator dot liu dot se [EMAIL PROTECTED]
writes:
| ( As an aside that suggests that you could have a strictly conforming
| implementation where the max limit is 0, but that discussion is more fitting
on
| comp.std.c++)

That is technically correct; but it is beside the point.

-- Gaby


-- 


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



[Bug debug/27057] [4.0/4.1/4.2 Regression] ICE with -feliminate-dwarf2-dups and using namespace

2006-04-06 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/2006-
   ||04/msg00224.html
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-04-06 13:14:56
   date||


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



[Bug target/26885] [4.1/4.2 regression] -m64 -m32 no longer creates 32-bit object

2006-04-06 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   |mmitchel at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED


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



[Bug other/26208] Serious problem with unwinding through signal frames

2006-04-06 Thread jakub at gcc dot gnu dot org


--- Comment #30 from jakub at gcc dot gnu dot org  2006-04-06 13:30 ---
Fixed on the trunk.


-- 

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



[Bug debug/27058] New: ICE in dwarf2out_finish

2006-04-06 Thread jakub at gcc dot gnu dot org
int
foo (void)
{
  if (0)
{
  static union
  {
long i;
char c[8];
  } u;
  u.i = 0x01020304;
  return u.c[0] == 0x01  u.c[1] == 0x02;
}
  return 0;
}

ICEs at -g -O0 in dwarf2out_finish, because the UNION_TYPE has TYPE_CONTEXT
set, but not to some FUNCTION_DECL, but to BLOCK (that has been optimized out).


-- 
   Summary: ICE in dwarf2out_finish
   Product: gcc
   Version: 4.1.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: debug
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jakub at gcc dot gnu dot org


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



[Bug target/27059] New: %T output specifier doesn't work right for floating point registers

2006-04-06 Thread amylaar at gcc dot gnu dot org
%T originally allowed to move between registers and memory, using an anadorned
operand for the piece that comes first in memory, and using %T for the second
part.
This does not work with the SH4 floating point registers for little endian
code.
The #ifdef __LITTLE_ENDIAN__ sequences in lib1funcs.asm:udivsi3_i4 are
work around this defect, but these kinds of ifdefs do not scale well.

The SHMEDIA truncdisi2 pattern really should use %R - it couldn't originally
because of a bug in %R, but that's fixed now.


-- 
   Summary: %T output specifier doesn't work right for floating
point registers
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: amylaar at gcc dot gnu dot org
GCC target triplet: sh*-*-*


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



[Bug tree-optimization/27056] ICE in loop_depth_of_name

2006-04-06 Thread bonzini at gnu dot org


--- Comment #2 from bonzini at gnu dot org  2006-04-06 13:53 ---
The ICE was probably exposed by my changes for PR26830, but if I understand
right it was causing a wrong code before that?


-- 

bonzini at gnu dot org changed:

   What|Removed |Added

 CC||bonzini at gnu dot org


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



[Bug tree-optimization/27056] ICE in loop_depth_of_name

2006-04-06 Thread jakub at gcc dot gnu dot org


--- Comment #3 from jakub at gcc dot gnu dot org  2006-04-06 13:59 ---
I get the same ICE also with
gcc version 4.1.0 20060304 (Red Hat 4.1.0-3)
which is much older than your PR26830 fix.
So those 2 seem to be unrelated.


-- 


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



[Bug target/27059] %T output specifier doesn't work right for floating point registers

2006-04-06 Thread amylaar at gcc dot gnu dot org


--- Comment #1 from amylaar at gcc dot gnu dot org  2006-04-06 14:00 ---
I intend to introduce a new modifier for the first part of a 64 bit value -
I suppose %t is best suited for that - and change %T for little endian to be
equivalent to %S.


-- 

amylaar at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||aoliva at gcc dot gnu dot
   ||org
 AssignedTo|unassigned at gcc dot gnu   |amylaar at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-04-06 14:00:18
   date||


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



[Bug target/27006] [4.1/4.2 Regression] Invalid altivec constant loading code

2006-04-06 Thread uweigand at gcc dot gnu dot org


--- Comment #4 from uweigand at gcc dot gnu dot org  2006-04-06 14:03 
---
(In reply to comment #3)
 Ulrich, can you prepare a patch or should I do so?

It would be great if you could do that, I don't yet
have a proper setup for ppc testing ...


-- 


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



[Bug target/27060] New: divide libcall size has increased

2006-04-06 Thread amylaar at gcc dot gnu dot org
The new sped-optimized division library functions are larger than the functions
that were originally used; unsigned and signed division are implemented in a
modulte which has an object text size of 1060 bytes.
This could cause problems with specialized embedded applications that are
supposed to run in a very small memory area.


-- 
   Summary: divide libcall size has increased
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: amylaar at gcc dot gnu dot org
GCC target triplet: sh4-*-elf


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



[Bug target/27060] divide libcall size has increased

2006-04-06 Thread amylaar at gcc dot gnu dot org


--- Comment #1 from amylaar at gcc dot gnu dot org  2006-04-06 14:14 ---
This can be fixed by providing an additional library, which provides
udivsi3_i4i and sdivsi3_i4i implementations that are comparable in speed and
size to what we had before, and which is linked in in preference to libgcc when
linking with -Os, like the libic_invalidate_array*.a libraries provide taylored
cache invalidataion arrays.
I intend to provide implementations optimized for the sh4-100 / sh4-200
pipelines;
libraries optimized for other pipelines could be added later.


-- 

amylaar at gcc dot gnu dot org changed:

   What|Removed |Added

  BugsThisDependsOn||27059
 AssignedTo|unassigned at gcc dot gnu   |amylaar at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-04-06 14:14:18
   date||


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



[Bug target/27006] [4.1/4.2 Regression] Invalid altivec constant loading code

2006-04-06 Thread bonzini at gnu dot org


--- Comment #5 from bonzini at gnu dot org  2006-04-06 14:47 ---
Created an attachment (id=11217)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11217action=view)
patch to fix the bug

Patch untested but quite trivial.


-- 

bonzini at gnu dot org changed:

   What|Removed |Added

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


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



[Bug c++/27061] New: instantiation of template functions for locally defined classes

2006-04-06 Thread mmirzaza at cs dot uwaterloo dot ca
When the folliwng program is compiled: 

template typename T void f(T x) {}
int main()
{
class A{} a;
f(a);
}

g++ syas:

test.cc: In function 'int main()':
test.cc:5: error: no matching function for call to 'f(main()::A)'

but if you move the class definition outside the main function, the error
disappears.


-- 
   Summary: instantiation of template functions for locally defined
classes
   Product: gcc
   Version: 4.0.3
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: mmirzaza at cs dot uwaterloo dot ca


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



[Bug target/27059] %T output specifier doesn't work right for floating point registers

2006-04-06 Thread amylaar at gcc dot gnu dot org


--- Comment #2 from amylaar at gcc dot gnu dot org  2006-04-06 15:26 ---
This does not actually affect lib1funcs.asm, since we don't have access to
gcc's output modifiers there anyway.


-- 

amylaar at gcc dot gnu dot org changed:

   What|Removed |Added

OtherBugsDependingO|27060   |
  nThis||


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



[Bug target/27059] %T output specifier doesn't work right for floating point registers

2006-04-06 Thread amylaar at gcc dot gnu dot org


--- Comment #3 from amylaar at gcc dot gnu dot org  2006-04-06 15:33 ---
Created an attachment (id=11218)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11218action=view)
untested patch

If this is not blocking the fix for some more serious bug, maybe we should wait
with this till 4.2 has branched.


-- 


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



[Bug tree-optimization/27056] ICE in loop_depth_of_name

2006-04-06 Thread reichelt at gcc dot gnu dot org


--- Comment #4 from reichelt at gcc dot gnu dot org  2006-04-06 16:13 
---


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


-- 

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



[Bug c++/26757] [4.1 regression] ICE (Segmentation fault) building 3ddesktop source

2006-04-06 Thread reichelt at gcc dot gnu dot org


--- Comment #9 from reichelt at gcc dot gnu dot org  2006-04-06 16:13 
---
*** Bug 27056 has been marked as a duplicate of this bug. ***


-- 

reichelt 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=26757



[Bug target/27054] C constant expressions vs. IBM extended format long double

2006-04-06 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-04-06 16:13 ---
This is a dup of bug 26374.

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


-- 

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



[Bug middle-end/26374] Compile failure on long double

2006-04-06 Thread pinskia at gcc dot gnu dot org


--- Comment #9 from pinskia at gcc dot gnu dot org  2006-04-06 16:13 ---
*** Bug 27054 has been marked as a duplicate of this bug. ***


-- 

pinskia 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=26374



Re: [Bug tree-optimization/27056] New: ICE in loop_depth_of_name

2006-04-06 Thread Daniel Berlin
On Thu, 2006-04-06 at 11:49 +, jakub at gcc dot gnu dot org wrote:
 On the attached testcase with today's gcc-4_1-branch
 -m32 -g -O2 I get ICE during copy propagation.  Unfortunately, even doing 
 minor
 changes in different routines makes the problem go away.
 What I see in the dumps is:
 1) at *t26.ssa, in draw_digit, there are two SSA_NAMEs with version 2:

This is already wrong :)




[Bug tree-optimization/27056] ICE in loop_depth_of_name

2006-04-06 Thread dberlin at dberlin dot org


--- Comment #5 from dberlin at gcc dot gnu dot org  2006-04-06 16:15 ---
Subject: Re:   New: ICE in loop_depth_of_name

On Thu, 2006-04-06 at 11:49 +, jakub at gcc dot gnu dot org wrote:
 On the attached testcase with today's gcc-4_1-branch
 -m32 -g -O2 I get ICE during copy propagation.  Unfortunately, even doing 
 minor
 changes in different routines makes the problem go away.
 What I see in the dumps is:
 1) at *t26.ssa, in draw_digit, there are two SSA_NAMEs with version 2:

This is already wrong :)


-- 


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



[Bug debug/27058] ICE in dwarf2out_finish

2006-04-06 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-04-06 16:21 ---


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


-- 

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



[Bug debug/26881] [4.1/4.2 Regression] internal compiler error in dwarf2out_finish

2006-04-06 Thread pinskia at gcc dot gnu dot org


--- Comment #5 from pinskia at gcc dot gnu dot org  2006-04-06 16:21 ---
*** Bug 27058 has been marked as a duplicate of this bug. ***


-- 

pinskia 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=26881



[Bug c++/27061] instantiation of template functions for locally defined classes

2006-04-06 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-04-06 16:24 ---
The code is invalid as you cannot use a template with a local class as it has
local linkage.
I don't know if the error message could be improved or not.  


-- 


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



[Bug bootstrap/27063] New: Fail to build gcc-core-4.2 snapshots

2006-04-06 Thread sebastian dot pop at cri dot ensmp dot fr
If you download only the gcc-core-4.2 snapshot, for example
ftp://ftp.uvsq.fr/pub/gcc/snapshots/4.2-20060401/gcc-core-4.2-20060401.tar.bz2
and do a ../configure --enable-languages=c  make
make will stop complaining about some objC file that is not in the package:

make[2]: *** No rule to make target `../../gcc/objc/objc-act.c', needed by
`s-gtype'.  Stop.


-- 
   Summary: Fail to build gcc-core-4.2 snapshots
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: sebastian dot pop at cri dot ensmp dot fr


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



[Bug c++/27053] symbol2.c:2102: internal error: Segmentation fault when i try to compile gSOAP in cross compilation

2006-04-06 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-04-06 16:45 ---
3.2.1 is over 3 years old.  Can you try a newer compiler like 4.0.3?


-- 


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



[Bug other/27063] Fail to build gcc-core-4.2 snapshots

2006-04-06 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-04-06 16:46 ---
This is just a packing issue.  There was a thread on gcc@ about this issue.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

  Component|bootstrap   |other


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



[Bug fortran/27064] New: Fortran compiler options aren't documented

2006-04-06 Thread hjl at lucon dot org
Most of options in gcc/fortran/lang.opt, like -fmax-stack-var-size=N, aren't
documented in the gcc manual.


-- 
   Summary: Fortran compiler options aren't documented
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: hjl at lucon dot org


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



[Bug fortran/27064] Fortran compiler options aren't documented

2006-04-06 Thread kargl at gcc dot gnu dot org


--- Comment #1 from kargl at gcc dot gnu dot org  2006-04-06 17:53 ---
All of these options are documented in the gfortran manual.
Is there really a needed for duplicating these options in
the gcc manual?


-- 


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



[Bug fortran/27064] Fortran compiler options aren't documented

2006-04-06 Thread hjl at lucon dot org


--- Comment #2 from hjl at lucon dot org  2006-04-06 18:24 ---
I think the gcc manual should at least have a line like, 
-fmax-stack-var-size=N, see gfortran manual since gcc can be used
to compile Fortran code.


-- 


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



[Bug c/27065] New: error: array type has incomplete element type

2006-04-06 Thread rdabrowa at poczta dot onet dot pl
a code below:
struct foo {
void (*pf)(struct foo (*ptr)[2]); /* error */
};
causes to report the following error:
ts.c:4: error: array type has incomplete element type

Isn't the compiler too restrictive ?
Even a typedef is rejected by compiler:
   struct foo;
   typedef struct foo (*foo_tab_ptr)[2];
   typedef void (*pfun)(struct foo[2]);
or a function declaration:
   void f(struct foo[]);


-- 
   Summary: error: array type has incomplete element type
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: rdabrowa at poczta dot onet dot pl
 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=27065



[Bug fortran/27064] Fortran compiler options aren't documented

2006-04-06 Thread kargl at gcc dot gnu dot org


--- Comment #3 from kargl at gcc dot gnu dot org  2006-04-06 18:32 ---
None of g77 specific options that I checked are documented
in pre 4.0 gcc.  As far as front-ends are concerned, the gcc
manual documents the C family of languages options.  I don't
see any ada, java, or other front-ends represented.

Is it too hard to read the gfortran manual?


-- 


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



[Bug c/27065] error: array type has incomplete element type

2006-04-06 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-04-06 18:42 ---
This is invalid code, yes it might had been accepted before 4.1.0 but it was
still invalid code.  The array to pointer decay happens after the type is
completed for functions so the element of the array type has to be complete
still.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug fortran/27064] Fortran compiler options aren't documented

2006-04-06 Thread pinskia at gcc dot gnu dot org


--- Comment #4 from pinskia at gcc dot gnu dot org  2006-04-06 18:43 ---
This is the way it has been for years now.  If you don't like it, propose a
patch to combine all four manuals (GCC, Ada, Fortran, and Java) into one big
one.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug c/27065] error: array type has incomplete element type

2006-04-06 Thread rdabrowa at poczta dot onet dot pl


--- Comment #2 from rdabrowa at poczta dot onet dot pl  2006-04-06 19:09 
---
(In reply to comment #1)
 This is invalid code, yes it might had been accepted before 4.1.0 but it was
 still invalid code.  The array to pointer decay happens after the type is
 completed for functions so the element of the array type has to be complete
 still.
 
What happens ?
Consider the following code:
struct foo {
void (*pf)();
};
Later I can write:
void f(struct foo (*ptr)[2]);
struct foo x;
x.pf = f;
This compiles fine, but now I can assign any function to pf. Why I can't
specify required function prototype ? I can't understand this. 


-- 


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



[Bug libgcj/27066] New: libgcj native socket code does not support IPv6

2006-04-06 Thread cjw at daneel dot dyndns dot org
Java Sockets do not know on creation if they will be used for IPv6 or IPv4, so
the gnu::java::net::PlainSocketImpl::create method should use PF_INET6 instead
of AF_INET. The other methods - bind and connect - must then translate IPv4
addresses to IPv4-in-IPv6. Behavior with HAVE_INET6 not defined should probably
not be changed. The code is in libjava/gnu/java/net/natPlainSocketImplPosix.cc
.


-- 
   Summary: libgcj native socket code does not support IPv6
   Product: gcc
   Version: 4.1.1
Status: UNCONFIRMED
  Severity: enhancement
  Priority: P3
 Component: libgcj
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: cjw at daneel dot dyndns dot org
  GCC host triplet: powerpc-mandriva-linux-gnu


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



[Bug libgcj/27066] libgcj native socket code does not support IPv6

2006-04-06 Thread cjw at daneel dot dyndns dot org


--- Comment #1 from cjw at daneel dot dyndns dot org  2006-04-06 19:43 
---
Created an attachment (id=11219)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11219action=view)
Example patch to fix IPv6 support


-- 


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



[Bug libgcj/27066] libgcj native socket code does not support IPv6

2006-04-06 Thread mckinlay at redhat dot com


--- Comment #2 from mckinlay at redhat dot com  2006-04-06 20:08 ---
I'm not sure I follow this. create() does not get called until the socket is
bound. Don't we know at that point whether we're binding to an IPV4 or IPV6
address?


-- 


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



[Bug gcov/profile/20815] -fprofile-use barfs with coverage mismatch for function '...' while reading counter 'arcs'.

2006-04-06 Thread hubicka at gcc dot gnu dot org


--- Comment #12 from hubicka at gcc dot gnu dot org  2006-04-06 20:33 
---
Subject: Bug 20815

Author: hubicka
Date: Thu Apr  6 20:33:21 2006
New Revision: 112738

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=112738
Log:

PR profile/20815
PR profile/26399
* coverage.c (coverage_checksum_string): Reorganize loop to not read
after buffer.
* g++.dg/bprob/g++-bprob-2.C: New testcase.

Added:
trunk/gcc/testsuite/g++.dg/bprob/g++-bprob-2.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/coverage.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug gcov/profile/26399] -fprofile-use fails with unnamed namespaces

2006-04-06 Thread hubicka at gcc dot gnu dot org


--- Comment #5 from hubicka at gcc dot gnu dot org  2006-04-06 20:33 ---
Subject: Bug 26399

Author: hubicka
Date: Thu Apr  6 20:33:21 2006
New Revision: 112738

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=112738
Log:

PR profile/20815
PR profile/26399
* coverage.c (coverage_checksum_string): Reorganize loop to not read
after buffer.
* g++.dg/bprob/g++-bprob-2.C: New testcase.

Added:
trunk/gcc/testsuite/g++.dg/bprob/g++-bprob-2.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/coverage.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug tree-optimization/19719] missed optimization on boolean operation with boolean arguments

2006-04-06 Thread pinskia at gcc dot gnu dot org


--- Comment #7 from pinskia at gcc dot gnu dot org  2006-04-06 20:58 ---
I am working on this again :).


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

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


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



[Bug c++/26757] [4.1 regression] ICE (Segmentation fault) building 3ddesktop source

2006-04-06 Thread amacleod at redhat dot com


--- Comment #10 from amacleod at redhat dot com  2006-04-06 21:05 ---
using the program from comment #5, I get IL for load_background_image that
looks like:

void load_background_image() ()
{
  int D.1767;
  int D.1766;
  struct Config * cfg.2;
  int D.1764;
  int D.1763;
  struct Config * cfg.1;

bb 0:
  cfg.1 = cfg;
  D.1763 = cfg.1-bg_size;
  D.1764 = D.1763 + 1;
  cfg.1-bg_size = D.1764;
  cfg.2 = cfg;
  D.1766 = cfg.2-autoacquire;
  D.1767 = D.1766 + 1;
  cfg.2-autoacquire = D.1767;
  return;

}

THe two assignments of cfg into temps,  (cfg.1 and cfg.2) are using DIFFERENT
cfg variables (ie, different addresses) on the RHS with the same UID.  very
bad.  either they should be the same var_decl (which I presume is what is
intended), or they should have different UIDs.  

This patchlet provides an assert the triggers when it happens:

Index: tree-dfa.c
===
*** tree-dfa.c  (revision 112248)
--- tree-dfa.c  (working copy)
*** referenced_var_insert (unsigned int uid,
*** 610,615 
--- 610,619 
h-uid = uid;
h-to = to;
loc = htab_find_slot_with_hash (referenced_vars, h, uid, INSERT);
+   /* This assert can only trigger is a variable with the same UID has been
+  inserted already, but has a different pointer value. ie, we have 2
+  different variables with the same UID.  Bug 26757.  */
+   gcc_assert ((*(struct int_tree_map **)loc) == NULL);
*(struct int_tree_map **)  loc = h;
  }


what happens is that the referenced_var list hashes based on the UID of a
variable. referenced_var_insert is only called when a new variable is
discovered, so it presumes that the hash slot is already empty.

add_referenced_var calls referenced_var_insert when it sees a new variable, and
it determines a variable is new by hashing on the address of the variable in
the walk_state-vars_found table. 

since there are 2 different 'cfg' vars, referenced_var_insert overwrote the
first 'cfg''s address when it looked up the UID. 

WHen we go out of ssa, delete_tree_ssa removes all the var annotations of
referenced vars. The original 'cfg' no longer occurs in the referenced var
list, so it is not cleared.

Along comes the next function, and it is using the original 'cfg', and voila,
it still has a var_annotation, complete with current_def and lots of fun things
set.


I havent tracked down where the cfg variable is created, but Im willing to bet
a C++ front end person knows right off the bat by looking at the function.


-- 


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



[Bug c++/27067] New: Compile errors with multiple inheritance where the stdcall attribute is applied to virtual functions.

2006-04-06 Thread wszafran at users dot sourceforge dot net
When the sample code snippet (below) is compiled, errors (below) occur.  This
issue breaks the compilation of wxWidgets' Media Library.  The same problem
occurs with the latest snapshot (20060331, used in the example below) of GCC
4.1.1, on both CygWin and MinGW.

The sample code (virt-test.ii):

# 1 virt-test.cpp
# 1 built-in
# 1 command line
# 1 virt-test.cpp
struct top
{
  virtual ~top() {}
  virtual int __attribute__((__stdcall__)) fun1() = 0;
  virtual char __attribute__((__stdcall__)) fun2() = 0;
  virtual double __attribute__((__stdcall__)) fun3() = 0;
};

struct mid1 : public top
{
  virtual int __attribute__((__stdcall__)) fun1() = 0;
  virtual char __attribute__((__stdcall__)) fun2() = 0;
  virtual double __attribute__((__stdcall__)) fun3() = 0;
  virtual long __attribute__((__stdcall__)) fun4() = 0;
};

struct mid2 : public top
{
  virtual int __attribute__((__stdcall__)) fun1() = 0;
  virtual char __attribute__((__stdcall__)) fun2() = 0;
  virtual double __attribute__((__stdcall__)) fun3() = 0;
  virtual long __attribute__((__stdcall__)) fun5() = 0;
};

struct mid3 : public top
{
  virtual int __attribute__((__stdcall__)) fun1() = 0;
  virtual char __attribute__((__stdcall__)) fun2() = 0;
  virtual double __attribute__((__stdcall__)) fun3() = 0;
  virtual long __attribute__((__stdcall__)) fun6() = 0;
};

struct bottom : public mid1, public mid2, public mid3
{
  int __attribute__((__stdcall__)) fun1();
  char __attribute__((__stdcall__)) fun2();
  double __attribute__((__stdcall__)) fun3();

  long __attribute__((__stdcall__)) fun4()
  { return 345L; }

  long __attribute__((__stdcall__)) fun5()
  { return 456L; }

  long __attribute__((__stdcall__)) fun6()
  { return 567L; }
};

int __attribute__((__stdcall__)) bottom::fun1()
{ return 123; }

char __attribute__((__stdcall__)) bottom::fun2()
{ return 'a'; }

double __attribute__((__stdcall__)) bottom::fun3()
{ return 123.45; }

int main()
{
  bottom b;
  b.fun1();
  b.fun2();
  b.fun3();
  b.fun4();
  b.fun5();
  b.fun6();
}

The command line to compile:

mingw32-g++ -v -save-temps -Wall -Wextra -pedantic -o virt-test.exe virt-test
.cpp

And compiler output:

Using built-in specs.
Target: mingw32
Configured with:
/usr/local/src/gcc/build-cross/source/gcc-4.1-20060331//configure -v
--prefix=/usr/local/cross-mingw-4.1 --target=mingw32
--with-headers=/usr/local/cross-mingw-4.1/mingw32/include --with-gcc
--with-gnu-ld --with-gnu-as --enable-threads=win32 --disable-nls
--enable-languages=c,c++ --disable-win32-registry --disable-shared
--enable-sjlj-exceptions --enable-libstdcxx-allocator=pool --without-newlib
Thread model: win32
gcc version 4.1.1 20060331 (prerelease)
 /usr/local/cross-mingw-4.1/libexec/gcc/mingw32/4.1.1/cc1plus.exe -E -quiet -v
virt-test.cpp -Wall -Wextra -pedantic -fpch-preprocess -o virt-test.ii
ignoring nonexistent directory
/usr/local/cross-mingw-4.1/lib/gcc/mingw32/4.1.1/../../../../mingw32/sys-include
#include ... search starts here:
#include ... search starts here:
 /usr/local/cross-mingw-4.1/lib/gcc/mingw32/4.1.1/../../../../include/c++/4.1.1

/usr/local/cross-mingw-4.1/lib/gcc/mingw32/4.1.1/../../../../include/c++/4.1.1/mingw32

/usr/local/cross-mingw-4.1/lib/gcc/mingw32/4.1.1/../../../../include/c++/4.1.1/backward
 /usr/local/cross-mingw-4.1/lib/gcc/mingw32/4.1.1/include
 /usr/local/cross-mingw-4.1/lib/gcc/mingw32/4.1.1/../../../../mingw32/include
End of search list.
 /usr/local/cross-mingw-4.1/libexec/gcc/mingw32/4.1.1/cc1plus.exe
-fpreprocessed virt-test.ii -quiet -dumpbase virt-test.cpp -auxbase virt-test
-Wall -Wextra -pedantic -version -o virt-test.s
GNU C++ version 4.1.1 20060331 (prerelease) (mingw32)
compiled by GNU C version 3.4.4 (cygming special) (gdc 0.12, using dmd
0.125).
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: ce3135ac5ab9fb49e72d849828fbe7dc
virt-test.cpp:66: error: 'char *LTHUNK2()' aliased to undefined symbol
'_ZN6bottom4fun2Ev'
virt-test.cpp:66: error: 'char *LTHUNK3()' aliased to undefined symbol
'_ZN6bottom4fun2Ev'
virt-test.cpp:66: error: 'double *LTHUNK4()' aliased to undefined symbol
'_ZN6bottom4fun3Ev'
virt-test.cpp:66: error: 'double *LTHUNK5()' aliased to undefined symbol
'_ZN6bottom4fun3Ev'


-- 
   Summary: Compile errors with multiple inheritance where the
stdcall attribute is applied to virtual functions.
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: wszafran at users dot sourceforge dot net
 GCC build triplet: i686-pc-cygwin
  GCC host triplet: i686-pc-cygwin
GCC target triplet: mingw32


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



[Bug libgcj/27066] libgcj native socket code does not support IPv6

2006-04-06 Thread cjw at daneel dot dyndns dot org


--- Comment #3 from cjw at daneel dot dyndns dot org  2006-04-06 22:38 
---
AFAICT create() is called in Socket's getImpl() method, which in turn is called
from e.g. setTcpNoDelay() and calling that after a plain new Socket() means
no bind was done yet... Anyway, the address is not passed to create() so this
information is currently not available even when create() is called from
bind().


-- 


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



[Bug ada/27068] New: complilation abandoned on NML Ada test server

2006-04-06 Thread wshackle at yahoo dot com
gcc -c -I/home/shackle/rcslib/src/ada -g nml_test_server_ada.adb
+===GNAT BUG DETECTED==+
| 4.1.0 20060304 (Red Hat 4.1.0-3) (x86_64-redhat-linux-gnu) Storage_Error
stack overflow (or erroneous memory access)|
| Error detected at a-tags.adb:448:7   |
| Please submit a bug report; see http://gcc.gnu.org/bugs.html.|
| Use a subject line meaningful to you and us to track the bug.|
| Include the entire contents of this bug box in the report.   |
| Include the exact gcc or gnatmake command that you entered.  |
| Also include sources listed below in gnatchop format |
| (concatenated together with no headers between files).   |
+==+

Please include these source files with error report
Note that list may not be accurate in some cases, 
so please double check that the problem can still 
be reproduced with the set of files listed.

nml_test_server_ada.adb
/home/shackle/rcslib/src/ada/nml.ads
/home/shackle/rcslib/src/ada/cms.ads
/home/shackle/rcslib/src/ada/nml_msg.ads
nml_test_format_n_ada.ads
/home/shackle/rcslib/src/ada/posemath_n_ada.ads
otherheader_n_ada.ads

compilation abandoned
gnatmake: nml_test_server_ada.adb compilation error



gnatmake nml_test_dl_read_ada -L/home/shackle/rcslib/lib
-I/home/shackle/rcslib/src/ada -L/home/shackle/rcslib
-L/home/shackle/rcslib/lib   -cargs -g -largs -g
gcc -c -I/home/shackle/rcslib/src/ada -g nml_test_dl_read_ada.adb
+===GNAT BUG DETECTED==+
| 4.1.0 20060304 (Red Hat 4.1.0-3) (x86_64-redhat-linux-gnu) Storage_Error
stack overflow (or erroneous memory access)|
| Error detected at a-tags.adb:448:7   |
| Please submit a bug report; see http://gcc.gnu.org/bugs.html.|
| Use a subject line meaningful to you and us to track the bug.|
| Include the entire contents of this bug box in the report.   |
| Include the exact gcc or gnatmake command that you entered.  |
| Also include sources listed below in gnatchop format |
| (concatenated together with no headers between files).   |
+==+

Please include these source files with error report
Note that list may not be accurate in some cases, 
so please double check that the problem can still 
be reproduced with the set of files listed.

nml_test_dl_read_ada.adb
/home/shackle/rcslib/src/ada/nml.ads
/home/shackle/rcslib/src/ada/cms.ads
/home/shackle/rcslib/src/ada/nml_msg.ads
nml_test_format_n_ada.ads
/home/shackle/rcslib/src/ada/posemath_n_ada.ads
otherheader_n_ada.ads

compilation abandoned
gnatmake: nml_test_dl_read_ada.adb compilation error

[EMAIL PROTECTED] test]$ uname -a
Linux localhost.localdomain 2.6.16-1.2080_FC5 #1 SMP Tue Mar 28 03:38:47 EST
2006 x86_64 x86_64 x86_64 GNU/Linux
[EMAIL PROTECTED] test]$ 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 --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.0 20060304 (Red Hat 4.1.0-3)
[EMAIL PROTECTED] test]$

Contact me at [EMAIL PROTECTED] if you want me to send you the source
files it was compiling when this occurred.

The files were compiling, it is not clear what changed but I now see this
error every time.

-- Will


-- 
   Summary: complilation abandoned on NML Ada test server
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: critical
  Priority: P3
 Component: ada
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: wshackle at yahoo dot com


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



[Bug fortran/27069] New: -ffast-math crash

2006-04-06 Thread nuno dot bandeira at ist dot utl dot pt
gfortran crashes when I use -ffast-math in this subroutine:

C ==
  SUBROUTINE GRADEN(RHOE,V,GRAD,VTMP)
C ==--==
C ==   SMOOTHING OF THE DENSITY AND CALCULATION OF |nabla.RHO|==
C ==   ON INPUT : RHOE : DENSITY IN REAL SPACE==
C ==  V: UNDEFINED==
C ==  GRAD : UNDEFINED==
C ==  VTMP : UNDEFINED==
C ==   ON OUTPUT: RHOE : DENSITY IN REAL SPACE (SMOOTH)   ==
C ==  V: UNDEFINED==
C ==  GRAD : (GRADIENT OF RHO)^2 IN REAL SPACE==
C ==  VTMP : DENSITY IN G SPACE (SMOOTH)  ==
C ==--==
  IMPLICIT NONE
  INCLUDE 'system.h'
  INCLUDE 'cnst.inc'
  INCLUDE 'fft.inc'
  INCLUDE 'cppt.inc'
C Arguments
  COMPLEX*16 V(MAXFFT),VTMP(NHG)
  REAL*8 RHOE(NNR1),GRAD(NNR1,4)
C Variables
  REAL*8 GMAX,GCS,SMFAC,EG
  INTEGERISUB,IR,IG
C ==--==
C ==  TRANSFORM DENSITY TO G SPACE==
C ==--==
  CALL TISET('GRADEN',ISUB)
C$OMP parallel do private(IR)
  DO IR=1,NNR1
V(IR) = DCMPLX(RHOE(IR),0.0D0)
  ENDDO
  CALL FWFFT(V)
C ==--==
C ==  SMOOTHING   ==
C ==--==
  IF(TSMOOTH) THEN
GMAX=HG(NHG)



GCS=SMF*GMAX
C$OMP parallel do private(IG,EG,SMFAC)




DO IG=1,NHG
  EG=(HG(IG)-GCS)/(SDELTA*GMAX)
  SMFAC=1.0D0/(1.0D0+EXP(EG))
  VTMP(IG)=V(NZH(IG))*SMFAC
ENDDO
  ELSE
CALL ZGTHR(NHG,V,VTMP,NZH)
  ENDIF
C ==--==
C ==  FFT OF RHO AND NABLA(X)*RHOE==
C ==--==



  CALL ZAZZERO(V,MAXFFT)

C$OMP parallel do private(IG)
  DO IG=1,NHG
V(NZH(IG))=VTMP(IG)-TPIBA*GK(1,IG)*VTMP(IG)
V(INDZ(IG))=DCONJG(VTMP(IG)+TPIBA*GK(1,IG)*VTMP(IG))
  ENDDO
  CALL INVFFT(V)
C$OMP parallel do private(IR)




  DO IR=1,NNR1
RHOE(IR)=DREAL(V(IR))
GRAD(IR,1)=DIMAG(V(IR))*DIMAG(V(IR))
GRAD(IR,2)=DIMAG(V(IR))
  ENDDO
C ==--==
C ==  FFT OF NABLA(Y)*RHO AND NABLA(Z)*RHOE   ==
C ==--==



  CALL ZAZZERO(V,MAXFFT)
C$OMP parallel do private(IG)
  DO IG=1,NHG
V(NZH(IG))=TPIBA*(UIMAG*GK(2,IG)-GK(3,IG))*VTMP(IG)
V(INDZ(IG))=TPIBA*(-UIMAG*GK(2,IG)+GK(3,IG))*DCONJG(VTMP(IG))
  ENDDO

  CALL INVFFT(V)
C$OMP parallel do private(IR)




  DO IR=1,NNR1
GRAD(IR,1)=GRAD(IR,1)+DREAL(V(IR)*DCONJG(V(IR)))
GRAD(IR,3)=DREAL(V(IR))
GRAD(IR,4)=DIMAG(V(IR))
  ENDDO
  CALL TIHALT('GRADEN',ISUB)
C ==--==
  RETURN
  END
C ==


-- 
   Summary: -ffast-math crash
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: nuno dot bandeira at ist dot utl dot pt


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



[Bug fortran/27069] -ffast-math crash

2006-04-06 Thread kargl at gcc dot gnu dot org


--- Comment #1 from kargl at gcc dot gnu dot org  2006-04-06 23:47 ---
Don't use --fast-math.


-- 


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



[Bug fortran/27069] -ffast-math crash

2006-04-06 Thread nuno dot bandeira at ist dot utl dot pt


--- Comment #2 from nuno dot bandeira at ist dot utl dot pt  2006-04-06 
23:56 ---
Subject: Re:  -ffast-math crash

kargl at gcc dot gnu dot org wrote:

 --- Comment #1 from kargl at gcc dot gnu dot org  2006-04-06 23:47 ---
 Don't use --fast-math.

Is there a valid reason for it or is the implementation of the 
-ffast-math still uncertain ?


-- 


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



Re: [Bug fortran/27069] -ffast-math crash

2006-04-06 Thread Jerry DeLisle

nuno dot bandeira at ist dot utl dot pt wrote:

--- Comment #2 from nuno dot bandeira at ist dot utl dot pt  2006-04-06 
23:56 ---
Subject: Re:  -ffast-math crash

kargl at gcc dot gnu dot org wrote:



--- Comment #1 from kargl at gcc dot gnu dot org  2006-04-06 23:47 ---
Don't use --fast-math.



Is there a valid reason for it or is the implementation of the 
-ffast-math still uncertain ?




-ffast-math is uncertain, not related to gfortran.


[Bug fortran/27069] -ffast-math crash

2006-04-06 Thread jvdelisle at verizon dot net


--- Comment #3 from jvdelisle at verizon dot net  2006-04-07 00:06 ---
Subject: Re:  -ffast-math crash

nuno dot bandeira at ist dot utl dot pt wrote:
 --- Comment #2 from nuno dot bandeira at ist dot utl dot pt  2006-04-06 
 23:56 ---
 Subject: Re:  -ffast-math crash
 
 kargl at gcc dot gnu dot org wrote:
 
 
--- Comment #1 from kargl at gcc dot gnu dot org  2006-04-06 23:47 ---
Don't use --fast-math.
 
 
 Is there a valid reason for it or is the implementation of the 
 -ffast-math still uncertain ?
 
 
-ffast-math is uncertain, not related to gfortran.


-- 


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



[Bug fortran/27069] -ffast-math crash

2006-04-06 Thread kargl at gcc dot gnu dot org


--- Comment #4 from kargl at gcc dot gnu dot org  2006-04-07 00:07 ---
(In reply to comment #2)

 kargl at gcc dot gnu dot org wrote:

 Don't use --fast-math.
 
 Is there a valid reason for it or is the implementation of the 
 -ffast-math still uncertain ?


Does your code work correctly if you omit -ffast-math?
Have you audited your code to ensure all floating points operations
meet the expectations of -ffast-math?

I note that your computing an FFT and doing some complex arithmetic
with numbers from the fft. I won't use -ffast-math in this situation.


-- 


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



[Bug fortran/27069] -ffast-math crash

2006-04-06 Thread nuno dot bandeira at ist dot utl dot pt


--- Comment #5 from nuno dot bandeira at ist dot utl dot pt  2006-04-07 
00:10 ---
Subject: Re:  -ffast-math crash

jvdelisle at verizon dot net wrote:

 
 -ffast-math is uncertain, not related to gfortran.

I notice speedups of up to 50% for my binary at the cost of some 
numerical error though... in every way this card works miracles.


-- 


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



[Bug fortran/27069] -ffast-math crash

2006-04-06 Thread pinskia at gcc dot gnu dot org


--- Comment #6 from pinskia at gcc dot gnu dot org  2006-04-07 00:18 ---
What do you mean by crash?  Aka What is the error you get?

Also this source is no where near compilable by itself because of the includes.

Also what is the exact version of GCC you are using?  (use gcc -v to get that).

-ffast-math can do unwantted stuff with complex if you don't understand what it
does.


-- 


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



[Bug middle-end/27069] -ffast-math crash

2006-04-06 Thread pinskia at gcc dot gnu dot org


--- Comment #7 from pinskia at gcc dot gnu dot org  2006-04-07 00:20 ---
What are the full options you are passing to gcc anyways since I see you have
some openmp markers here too.


-- 


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



[Bug middle-end/27069] -ffast-math crash

2006-04-06 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING


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



[Bug middle-end/27069] -ffast-math crash

2006-04-06 Thread nuno dot bandeira at ist dot utl dot pt


--- Comment #8 from nuno dot bandeira at ist dot utl dot pt  2006-04-07 
00:32 ---
Subject: Re:  -ffast-math crash

This is what I get from the compiler:

$ gfortran -I../SOURCE -c -fdefault-real-8 -O3 -fforce-addr 
-march=pentium4 -fcray-pointer -ffast-math ./graden.f -o  ./graden.o
./graden.f: In function 'graden':
./graden.f:2: internal compiler error: in find_lattice_value, at 
tree-complex.c:133
Please submit a full bug report,
with preprocessed source if appropriate.
See URL:http://gcc.gnu.org/bugs.html for instructions.

Attached are also the include files for the compilation. Thank you all 
for such a quick reply ! The code is not mine by the way hence my 
ignorance...


C ==
C ==   DYNAMIC ALLOCATION OF PERMANENT ARRAYS ==
C ==
C == TSHELS = FALSE if all TSHEL(IS) false==
C ==--==
  LOGICAL   TSHELS,TSHEL(MAXSP)
  COMMON/CPPSW/ TSHELS,TSHEL
C ==
C == INYH(3,NHG) coordinates +NHI (I=1,2,3) for G-vectors ==
C == IGL(NHG)the index of the shell for each G-vector ==
C == NZH(NHG)index in PSI or RHO array (IG1=0)   ==
C == INDZ(NHG)   index in PSI or RHO array (IG1=0)   ==
C == ISPTR(NHGL+1) last index IG for the shell==
C == INDZS(NGW)  index for G-compon. of wavefunction in PSI (I10)==
C == NZH(NGW)index for G-compon. of wavefunction in PSI (I10)==
C ==--==
  INTEGER   INYH(3,NHG),IGL(NHG),NZH(NHG),INDZ(NHG),
   ISPTR(*),INDZS(NGW),NZHS(NGW)
  POINTER   (IP_INYH,INYH),
   (IP_IGL,IGL),
   (IP_NZH,NZH),
   (IP_INDZ,INDZ),
   (IP_ISPTR,ISPTR),
   (IP_INDZS,INDZS),
   (IP_NZHS,NZHS)
  COMMON/CPPTI/ IP_INYH,IP_IGL,IP_NZH,IP_INDZ,IP_ISPTR,IP_INDZS,
   IP_NZHS
C ==
C == HG(1:NHG) Square norm of G-vectors   ==
C == GK(1:3,1:NHG) Components of G-vectors==
C == GL(1:NHGL) Square norm of G-vectors for each shell   ==
C == VPS(1:NSP,1:NHG) Local pseudopotential per species in G space==
C == RHOPS: smeared ionic charge density in G space   ==
C ==ionic point charges replaced by Gaussian charge   ==
C ==distributions (see ener.inc) calculated in PUTPS  ==
C == TWNL(1:NGW,1:NGH(IS),1:NSP) Non-Local projectors array   ==
C ==for each G-components (Kleinman-Bylander form)==
C == USED BY VANDERBILT PSEUDOPOTENTIALS  ==
C == QRAD ==
C == YLMB(NHGK,LPMAX,NKPNT) Initialized in PUTWNL ==
C ==--==
  REAL*8HG(NHG),GK(3,NHG),GL(*),
   VPS(NSX,NHG),RHOPS(NSX,NHG),
   TWNL,QRAD,TWNLS,YLMB
  POINTER   (IP_HG,HG),
   (IP_GK,GK),
   (IP_GL,GL),
   (IP_VPS,VPS),
   (IP_RHOPS,RHOPS),
   (IP_TWNL,TWNL),
   (IP_QRAD,QRAD),
   (IP_TWNLS,TWNLS),
   (IP_YLMB,YLMB)
  COMMON/CPPTR/ IP_HG,IP_GK,IP_GL,IP_VPS,IP_RHOPS,
   IP_TWNL,IP_TWNLS,IP_QRAD,IP_YLMB
C ==
C == Dimension of HGPOT (for isolated system -- HIP)  ==
C ==--==
  INTEGER   NR1H,NR2H,NR3H,NR3PL
  COMMON/ISOSI/ NR1H,NR2H,NR3H,NR3PL
C ==
  REAL*8HGPOT(NR1S+1,NR2S+1,NR3PL),HIPZ(NHG)
  COMPLEX*16SCG(NHG),SCGX(NHG)
  POINTER   (IP_HGPOT,HGPOT),(IP_HIPZ,HIPZ)
  POINTER   (IP_SCG,SCG),(IP_SCGX,SCGX)
  COMMON/ISOSP/ IP_HGPOT,IP_HIPZ,IP_SCG,IP_SCGX
C ==
C ==
C == INCLUDE FILE OF NUMERIC CONSTANTS  (SEE SETCNST.F)   ==
C ==--==
C == UIMAG = DCMPLX(0.D0,1.D0)==
C == PI  PI NUMBER==
C == FPI 4*PI ==
C == RY  RYDBERG IN ELECTRON-VOLT  

[Bug middle-end/27069] -ffast-math crash

2006-04-06 Thread pinskia at gcc dot gnu dot org


--- Comment #9 from pinskia at gcc dot gnu dot org  2006-04-07 00:34 ---
Still need the version number?
gfortran -v will give it to you.


-- 


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



[Bug middle-end/27069] -ffast-math crash

2006-04-06 Thread pinskia at gcc dot gnu dot org


--- Comment #10 from pinskia at gcc dot gnu dot org  2006-04-07 00:37 
---
I bet this is a dup of bug 26717 which was fixed a week or so ago.


-- 


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



[Bug middle-end/27069] -ffast-math crash

2006-04-06 Thread nuno dot bandeira at ist dot utl dot pt


--- Comment #11 from nuno dot bandeira at ist dot utl dot pt  2006-04-07 
00:38 ---
Subject: Re:  -ffast-math crash

kargl at gcc dot gnu dot org wrote:

 Does your code work correctly if you omit -ffast-math?

Yes it does albeit slower. The code also compiles well if I omit the 
-ffast-math in the buggy routines (only 3 of them in 581) and use them 
in all the rest.

 I note that your computing an FFT and doing some complex arithmetic
 with numbers from the fft. I won't use -ffast-math in this situation.

Ok, point taken. A speedup is always welcome though.


-- 


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



[Bug middle-end/27069] -ffast-math crash

2006-04-06 Thread nuno dot bandeira at ist dot utl dot pt


--- Comment #12 from nuno dot bandeira at ist dot utl dot pt  2006-04-07 
00:42 ---
Subject: Re:  -ffast-math crash

pinskia at gcc dot gnu dot org wrote:

 --- Comment #9 from pinskia at gcc dot gnu dot org  2006-04-07 00:34 
 ---
 Still need the version number?
 gfortran -v will give it to you.

The very latest (1st of April, 4.0.2). I submitted the version in my bug 
application may be it didn't get through.


-- 


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



[Bug middle-end/27069] -ffast-math crash

2006-04-06 Thread pinskia at gcc dot gnu dot org


--- Comment #13 from pinskia at gcc dot gnu dot org  2006-04-07 00:53 
---
Still not enough to compile it, we need you to attach (not copy and paste) the
following files:
system.h
cnst.inc
fft.inc
cppt.inc


-- 


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



[Bug c++/10591] PCH breaks anonymous namespaces

2006-04-06 Thread geoffk at gcc dot gnu dot org


--- Comment #23 from geoffk at gcc dot gnu dot org  2006-04-07 00:55 ---
(In reply to comment #22)
 The PCH problem with get_file_function_name is independent of the question of
 giving anonymous namespace members internal linkage.  We still need to give
 them distinct names; we are giving up on address comparison of type_infos
 because of problems with plugins.

If you're giving up address comparison on type_info, you still have to find a
way where two typeinfo objects with the same C++ name can be different, due to
this example:

A shared object contains

class A { };
class B __attribute__((visibility(hidden))) : class A { };
void f () { throw new B(); }

A main program contains:

class A { };
extern void f();
class B __attribute__((visibility(hidden))) { int x; };  // not an A
int main() {
  try {
f();
  } catch (B * p) {
abort();
  } catch (A * p) {
exit (0);
  }
  abort();
}

This program should not abort, because the 'B' in the main program is not the
same as the 'B' in the dylib.

My suggestion would be to include __dso_handle in the typeinfo for objects
with hidden visibility, and also compare that.

Now, if you're doing this for visibility, you can also do it for anonymous
namespaces.  Just find any address in the translation unit that contains the
anonymous namespace (hey, how about the address of the typeinfo itself?), and
consistently include that address in the typeinfo, and compare that.


-- 


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



[Bug c++/27070] New: Different partial template specialization result with different optimization options?

2006-04-06 Thread meter dot ten at gmail dot com
gcc version 4.0.2 20050808 (prerelease) (Ubuntu 4.0.1-4ubuntu9)
gcc version 4.0.3 (Ubuntu 4.0.3-1ubuntu3)

Different  partial template specialization result with different  optimization
options?

1. right result without optimization 
$g++ -O0 -g3 -c test.cpp
$g++ -O0 -g3 -c a.cpp
$g++ -O0 -g3 -o test test.o a.o
$./test
DEFAULT
PARTIAL

2. wrong  result with  optimization 
$g++ -O2 -g0 -c test.cpp
$g++ -O2 -g0 -c a.cpp
$g++ -O2 -g0 -o test test.o a.o
$./test
DEFAULT
DEFAULT
Bug???

3.if write three part in one file ,we get the right result
$g++ -O2 -g0 -o test2  test2
$./test2
DEFAULT
PARTIAL

$g++ -O0 -g3 -o test2  test2
$./test2
DEFAULT
PARTIAL






//
//a.h
//

#ifndef A_H
#define A_H

#include
using namespace std;
template
class A
{
public:
void echo() {cout  ĬÈÏ  endl;}
}
;
#endif

//
//a.cpp
//
#include a.h
template 
void
A0::echo()
{
cout  ÌØ»¯  endl;
}

//
//test.cpp
//
#include a.h
int main( int argc, char *argv[] )
{
A1  DEFAULT;
A0  PARTICULAR;
DEFAULT.echo();
PARTICULAR.echo();

return EXIT_SUCCESS;
}

//
//test2.cpp
//

#include
using namespace std;
template
class A
{
public:
void echo() {cout  ĬÈÏ  endl;}
}
;
template 
void
A0::echo()
{
cout  ÌØ»¯  endl;
}

int main( int argc, char *argv[] )
{
A1 DEFAULT;
A0 PARTICULAR;
DEFAULT.echo();
PARTICULAR.echo();

return EXIT_SUCCESS;
}


-- 
   Summary: Different  partial template specialization result with
different  optimization options?
   Product: gcc
   Version: 4.0.3
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: meter dot ten at gmail dot com


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



[Bug c++/27070] Different partial template specialization result with different optimization options?

2006-04-06 Thread meter dot ten at gmail dot com


--- Comment #1 from meter dot ten at gmail dot com  2006-04-07 02:37 ---
this is not a bug.


-- 

meter dot ten at gmail dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug rtl-optimization/27044] Loop variables incorrectly initialized with optimization on

2006-04-06 Thread ned at bike-nomad dot com


--- Comment #4 from ned at bike-nomad dot com  2006-04-07 02:50 ---
Tried 4.0.3 (compiled from source via Darwinports); works OK there.


-- 


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



[Bug rtl-optimization/27044] Loop variables incorrectly initialized with optimization on

2006-04-06 Thread pinskia at gcc dot gnu dot org


--- Comment #5 from pinskia at gcc dot gnu dot org  2006-04-07 03:17 ---
Closing as fixed pre the reporter.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution||FIXED


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



[Bug c++/27053] symbol2.c:2102: internal error: Segmentation fault when i try to compile gSOAP in cross compilation

2006-04-06 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|blocker |normal


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



[Bug ada/27068] complilation abandoned on NML Ada test server

2006-04-06 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-04-07 03:19 ---
Please attach the files.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|critical|normal
 Status|UNCONFIRMED |WAITING


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



[Bug fortran/26766] [F2003] Recursive I/O still (again) broken

2006-04-06 Thread patchapp at dberlin dot org


--- Comment #4 from patchapp at dberlin dot org  2006-04-07 04:00 ---
Subject: Bug number PR26766

A patch for this bug has been added to the patch tracker.
The mailing list url for the patch is
http://gcc.gnu.org/ml/gcc-patches/2006-04/msg00249.html


-- 


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



[Bug c++/26989] C++ front-end (and others parts of GCC) use the wrong check to see if hidden visibility is there

2006-04-06 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2006-04-07 05:23 ---
The patch which exposed this issue was reverted so this is no longer a
regression though it is still a bug.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|[4.2 Regression] C++ front- |C++ front-end (and others
   |end (and others parts of|parts of GCC) use the wrong
   |GCC) use the wrong check to |check to see if hidden
   |see if hidden visibility is |visibility is there
   |there   |
   Target Milestone|4.2.0   |---


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



[Bug c++/27000] Problems with latest visibility changes

2006-04-06 Thread pinskia at gcc dot gnu dot org


--- Comment #8 from pinskia at gcc dot gnu dot org  2006-04-07 05:26 ---
The patch which exposed the regression was reverted but this is still a bug as
shown by comment #6.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

OtherBugsDependingO||21581
  nThis||
   Severity|critical|normal
Summary|[4.2 Regression] Problems   |Problems with latest
   |with latest visibility  |visibility changes
   |changes |
   Target Milestone|4.2.0   |---


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



[Bug c++/26984] link error with (typeid(int)) in anonymous namespace

2006-04-06 Thread pinskia at gcc dot gnu dot org


--- Comment #4 from pinskia at gcc dot gnu dot org  2006-04-07 05:26 ---
This is no longer a regression but it still is a bug as shown by comment #2.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

OtherBugsDependingO||21581
  nThis||
   Severity|critical|normal
Summary|[4.2 Regression] link error |link error with
   |with (typeid(int)) in  |(typeid(int)) in anonymous
   |anonymous namespace |namespace
   Target Milestone|4.2.0   |---


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



[Bug target/25203] [4.0] enable checking failure in g++.dg/opt/mmx2.C

2006-04-06 Thread roger at eyesopen dot com


--- Comment #3 from roger at eyesopen dot com  2006-04-07 05:30 ---
This appears to be a problem with instruction attributes in the x86 backend,
and looks to be still present (but latent?) on mainline.

The problem is that i386.c's memory define_attr tries to determine whether
an insn is a load for insns of type mmxadd if either operands[1]
or operands[2] is a memory operand.  See the (match_operand 2 ...) line,
shortly after line 460 of i386.md.

This interacts badly with the definitions of the *movsi_1 and *movdi_1_rex64
define_insns where certain alternatives claim that they are of insn type
mmxadd, even though they have only two operands.  This leads the generated
get_attr_memory to inspect the uninitialized operands[2] for these insns.

The problem can be corrected by changing the insn type attribute for the
problematic variants of *movsi_1 and *movdi_1_rex64.  Which type they should
be (and how that interacts with scheduling etc...) is beyond me.  Perhaps a
new mmxclr or mmxunary type, or resuse the existing mmxcvt type, to
denote unary MMX operations.  Alternatively, the memory attribute could be
made more complex to recognize these two exceptions.  Or a third alternative,
is to specify the memory attribute of these two insns explicitly.


-- 

roger at eyesopen dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-04-07 05:30:26
   date||


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