[Bug fortran/30834] ICE with kind=8 exponentiaton

2007-03-23 Thread fxcoudert at gcc dot gnu dot org


--- Comment #15 from fxcoudert at gcc dot gnu dot org  2007-03-23 07:01 
---
Subject: Bug 30834

Author: fxcoudert
Date: Fri Mar 23 07:00:56 2007
New Revision: 123154

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=123154
Log:
PR fortran/30834

* arith.c (complex_pow): Rewrite to handle large power.
(gfc_arith_power): Handle large power in the real and integer
cases.

* gfortran.dg/integer_exponentiation_3.F90: New test.
* gfortran.dg/integer_exponentiation_4.f90: New test.
* gfortran.dg/integer_exponentiation_5.F90: New test.

Added:
trunk/gcc/testsuite/gfortran.dg/integer_exponentiation_3.F90
trunk/gcc/testsuite/gfortran.dg/integer_exponentiation_4.f90
trunk/gcc/testsuite/gfortran.dg/integer_exponentiation_5.F90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/arith.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/30834] ICE with kind=8 exponentiaton

2007-03-23 Thread fxcoudert at gcc dot gnu dot org


--- Comment #16 from fxcoudert at gcc dot gnu dot org  2007-03-23 07:02 
---
Fixed on mainline, will not backport to 4.2 as it's not a regression.


-- 

fxcoudert at gcc dot gnu dot org changed:

   What|Removed |Added

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


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



[Bug libgomp/26165] Cannot find libgomp.spec after 'make install' on x86_64 and ppc64

2007-03-23 Thread martin at mpa-garching dot mpg dot de


--- Comment #13 from martin at mpa-garching dot mpg dot de  2007-03-23 
07:49 ---
Could you please have a look at this before 4.2.0 is released?
It seems (at least to me), that a lot can be gained (i.e. OpenMP
works on x86_64) by very little work. Or is the proposed workaround
(installing libgomp.spec in another path) incorrect for some reason?


-- 


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



Re: [Bug tree-optimization/31136] [4.2 Regression] FRE ignores bit-field truncation (C and C++ front-end don't produce bit-field truncation

2007-03-23 Thread Andrew Pinski

On 23 Mar 2007 05:01:00 -, spark at gcc dot gnu dot org
[EMAIL PROTECTED] wrote:

The problematic STRIP_SIGN_NOPS() call is from fold_unary()
which is called from try_combine_conversion() in tree-ssa-pre.c.

STRIP_SIGN_NOPS() is called with the expression:


No, STRIP_SIGN_NOPS is correct, just fold_unary is incorrect in its
folding.  It should have called fold_convert on the expression if the
types are different and it is a constant.

-- Pinski


[Bug tree-optimization/31136] [4.2 Regression] FRE ignores bit-field truncation (C and C++ front-end don't produce bit-field truncation

2007-03-23 Thread pinskia at gmail dot com


--- Comment #8 from pinskia at gmail dot com  2007-03-23 07:57 ---
Subject: Re:  [4.2 Regression] FRE ignores bit-field truncation (C and C++
front-end don't produce bit-field truncation

On 23 Mar 2007 05:01:00 -, spark at gcc dot gnu dot org
[EMAIL PROTECTED] wrote:
 The problematic STRIP_SIGN_NOPS() call is from fold_unary()
 which is called from try_combine_conversion() in tree-ssa-pre.c.

 STRIP_SIGN_NOPS() is called with the expression:

No, STRIP_SIGN_NOPS is correct, just fold_unary is incorrect in its
folding.  It should have called fold_convert on the expression if the
types are different and it is a constant.

-- Pinski


-- 


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



Re: [Bug tree-optimization/31136] [4.2 Regression] FRE ignores bit-field truncation (C and C++ front-end don't produce bit-field truncation

2007-03-23 Thread Andrew Pinski

On 3/23/07, Andrew Pinski [EMAIL PROTECTED] wrote:

On 23 Mar 2007 05:01:00 -, spark at gcc dot gnu dot org
[EMAIL PROTECTED] wrote:
 The problematic STRIP_SIGN_NOPS() call is from fold_unary()
 which is called from try_combine_conversion() in tree-ssa-pre.c.

 STRIP_SIGN_NOPS() is called with the expression:

No, STRIP_SIGN_NOPS is correct, just fold_unary is incorrect in its
folding.  It should have called fold_convert on the expression if the
types are different and it is a constant.


Ok, the real issue is that we call fold with
NOP_EXPRNOP_EXPRINTEGER_CST instead of just NOP_EXPRINTEGER_CST
so you have to figure out where we should fold the first NOP_EXPR
instead of that patch.

-- Pinski


[Bug tree-optimization/31136] [4.2 Regression] FRE ignores bit-field truncation (C and C++ front-end don't produce bit-field truncation

2007-03-23 Thread pinskia at gmail dot com


--- Comment #9 from pinskia at gmail dot com  2007-03-23 08:01 ---
Subject: Re:  [4.2 Regression] FRE ignores bit-field truncation (C and C++
front-end don't produce bit-field truncation

On 3/23/07, Andrew Pinski [EMAIL PROTECTED] wrote:
 On 23 Mar 2007 05:01:00 -, spark at gcc dot gnu dot org
 [EMAIL PROTECTED] wrote:
  The problematic STRIP_SIGN_NOPS() call is from fold_unary()
  which is called from try_combine_conversion() in tree-ssa-pre.c.
 
  STRIP_SIGN_NOPS() is called with the expression:

 No, STRIP_SIGN_NOPS is correct, just fold_unary is incorrect in its
 folding.  It should have called fold_convert on the expression if the
 types are different and it is a constant.

Ok, the real issue is that we call fold with
NOP_EXPRNOP_EXPRINTEGER_CST instead of just NOP_EXPRINTEGER_CST
so you have to figure out where we should fold the first NOP_EXPR
instead of that patch.

-- Pinski


-- 


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



[Bug tree-optimization/31136] [4.2 Regression] FRE ignores bit-field truncation (C and C++ front-end don't produce bit-field truncation

2007-03-23 Thread pinskia at gcc dot gnu dot org


--- Comment #10 from pinskia at gcc dot gnu dot org  2007-03-23 08:17 
---
The good question is why does FRE not do anything on the trunk:
  s.b6 = 31;
  D.1597_1 = s.b6;
that really should be optimized at the FRE level.


-- 


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



[Bug c/31324] New: Building libgcc2 on x86_64 for m68k-elf: internal compiler error: in do_SUBST, at combine.c:462

2007-03-23 Thread zdenekjs at sarpeidon dot net
Compiling gcc 4.0.4 with a target of m68k-elf on a x86_64 Linux architecture
(SuSE 10.1), an internal error is generated when compiling libgcc2.c:

Command line that generated internal error:
/home/zdenekjs/68k/gcc-4.0.4-build/gcc/xgcc
-B/home/zdenekjs/68k/gcc-4.0.4-build/gcc/ -nostdinc -B/home/zdenekjs/68
k/gcc-4.0.4-build/m68k-elf/newlib/ -isystem
/home/zdenekjs/68k/gcc-4.0.4-build/m68k-elf/newlib/targ-include -isyste
m /home/zdenekjs/68k/gcc-4.0.4/newlib/libc/include
-B/usr/local/m68k-elf/m68k-elf/bin/ -B/usr/local/m68k-elf/m68k-e
lf/lib/ -isystem /usr/local/m68k-elf/m68k-elf/include -isystem
/usr/local/m68k-elf/m68k-elf/sys-include -O2  -DIN_G
CC -DCROSS_COMPILE   -W -Wall -Wwrite-strings -Wstrict-prototypes
-Wmissing-prototypes -Wold-style-definition  -isy
stem ./include   -g  -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc -I.
-I. -I../../gcc-4.0.4/gcc -I../../gcc
-4.0.4/gcc/. -I../../gcc-4.0.4/gcc/../include
-I../../gcc-4.0.4/gcc/../libcpp/include  -m68000 -DL_fixdfdi -c ../..
/gcc-4.0.4/gcc/libgcc2.c -o libgcc/m68000/_fixdfdi.o

Output:
./../gcc-4.0.4/gcc/libgcc2.c: In function ‘__fixdfdi’:
../../gcc-4.0.4/gcc/libgcc2.c:1256: internal compiler error: in do_SUBST, at
combine.c:462
Please submit a full bug report,


-- 
   Summary: Building libgcc2 on x86_64 for m68k-elf: internal
compiler error: in do_SUBST, at combine.c:462
   Product: gcc
   Version: 4.0.4
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: zdenekjs at sarpeidon dot net
 GCC build triplet: x86_64-unknown-linux-gnu
  GCC host triplet: x86_64-unknown-linux-gnu
GCC target triplet: m68k-unknown-elf


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



[Bug c/31324] Building libgcc2 on x86_64 for m68k-elf: internal compiler error: in do_SUBST, at combine.c:462

2007-03-23 Thread zdenekjs at sarpeidon dot net


--- Comment #1 from zdenekjs at sarpeidon dot net  2007-03-23 08:47 ---
Created an attachment (id=13257)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13257action=view)
preprocessed file saved with -save-temps


-- 


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



[Bug c/31324] Building libgcc2 on x86_64 for m68k-elf: internal compiler error: in do_SUBST, at combine.c:462

2007-03-23 Thread zdenekjs at sarpeidon dot net


--- Comment #2 from zdenekjs at sarpeidon dot net  2007-03-23 08:48 ---
Created an attachment (id=13258)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13258action=view)
Assembly output saved with -save-temps 


-- 


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



[Bug c/31324] Building libgcc2 on x86_64 for m68k-elf: internal compiler error: in do_SUBST, at combine.c:462

2007-03-23 Thread zdenekjs at sarpeidon dot net


--- Comment #3 from zdenekjs at sarpeidon dot net  2007-03-23 08:50 ---
Same internal error appears to happen in 4.1.2 and 3.4.6 as well


-- 

zdenekjs at sarpeidon dot net changed:

   What|Removed |Added

 CC||zdenekjs at sarpeidon dot
   ||net


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



[Bug c/31324] Building libgcc2 on x86_64 for m68k-elf: internal compiler error: in do_SUBST, at combine.c:462

2007-03-23 Thread zdenekjs at sarpeidon dot net


--- Comment #4 from zdenekjs at sarpeidon dot net  2007-03-23 08:52 ---
only occurs on x86_64 host.  If I switch machines to a i686 and compile, error
does not occur.  Error still occurs even if I configure with --host=i686-linux
on the x86_64-unknown-linux-gnu machine.


-- 


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



[Bug c++/31315] internal compiler error on mis-spelled syntax

2007-03-23 Thread ahmadyan at gmail dot com


--- Comment #2 from ahmadyan at gmail dot com  2007-03-23 09:46 ---
Created an attachment (id=13259)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13259action=view)
the ii file of the problem.

the following code can trigger the bug in g++ version 4.2 with the following
specs:
Configured with: ../gcc/configure --with-gcc --with-gnu-ld --with-gnu-as
--host=
mingw32 --target=mingw32 --prefix=/mingw --enable-threads --disable-nls
--enable
-languages=c,c++,f77,ada,objc,java --disable-win32-registry --disable-shared
--e
nable-sjlj-exceptions --enable-libgcj --disable-java-awt --without-x
--enable-ja
va-gc=boehm --disable-libgcj-debug --enable-interpreter
--enable-hash-synchroniz
ation --enable-libstdcxx-debug
Thread model: win32
gcc version 3.4.2 (mingw-special)

=
#include iostream
#include vector
#include iterator
using namespace std;

int main(){
vectorint v ;
v.reserve(10);
v.push_back(1); v.push_back(2);
copy( v.begin() , v.end(). ostream_iteratorint(cout, \n) );
return 0 ;
}


==
P.S. again, the above code has a syntax error, just after the v.end() there
should be a , not .


-- 


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



[Bug fortran/31234] Thread-safety of random_number should be documented.

2007-03-23 Thread dfranke at gcc dot gnu dot org


--- Comment #2 from dfranke at gcc dot gnu dot org  2007-03-23 10:05 ---
 I'll run some tests as soon as possible and report back to the mailing list.
See
  http://gcc.gnu.org/ml/fortran/2007-03/msg00440.html


-- 


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



[Bug target/31319] Make big alignment for structs/arrays configurable

2007-03-23 Thread vda dot linux at googlemail dot com


--- Comment #3 from vda dot linux at googlemail dot com  2007-03-23 12:00 
---
You are right, in current svn it is fixed.
BTW I think I see a bug created by this change: with -Os x86_86 ABI will be
violated - arrays larger than 16 bytes will still be aligned only to 4 bytes
because if's are in wrong order. shouldn't they be swapped?

(nitpicking: if comment is true, then second if should check that object is an
*array*, not a *struct*, but it doesn't seem to do it)

  int max_align = optimize_size ? BITS_PER_WORD : 256;

  if (AGGREGATE_TYPE_P (type)
   TYPE_SIZE (type)
   TREE_CODE (TYPE_SIZE (type)) == INTEGER_CST
   (TREE_INT_CST_LOW (TYPE_SIZE (type)) = (unsigned) max_align
  || TREE_INT_CST_HIGH (TYPE_SIZE (type)))
   align  max_align)
align = max_align;

  /* x86-64 ABI requires arrays greater than 16 bytes to be aligned
 to 16byte boundary.  */
  if (TARGET_64BIT)
{
  if (AGGREGATE_TYPE_P (type)
TYPE_SIZE (type)
TREE_CODE (TYPE_SIZE (type)) == INTEGER_CST
(TREE_INT_CST_LOW (TYPE_SIZE (type)) = 128
   || TREE_INT_CST_HIGH (TYPE_SIZE (type)))  align  128)
return 128;
}


-- 


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



[Bug java/31325] New: gcj support for ARM EABI

2007-03-23 Thread s_j_newbury at yahoo dot co dot uk
Currently there is no gcj support on the ARM EABI platform.  I have gathered
together a number of patches that allow it to build and will be attaching them
to this bug.

I would like to see this moving forward and getting support into mainline,
there are inevitably going to be issues.


-- 
   Summary: gcj support for ARM EABI
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: java
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: s_j_newbury at yahoo dot co dot uk
 GCC build triplet: arm-*-linux-gnueabi
  GCC host triplet: arm-*-linux-gnueabi
GCC target triplet: arm-*-linux-gnueabi


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



[Bug java/31325] gcj support for ARM EABI

2007-03-23 Thread s_j_newbury at yahoo dot co dot uk


--- Comment #1 from s_j_newbury at yahoo dot co dot uk  2007-03-23 12:53 
---
Created an attachment (id=13260)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13260action=view)
libffi completion support for ARM EABI


-- 


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



[Bug java/31325] gcj support for ARM EABI

2007-03-23 Thread s_j_newbury at yahoo dot co dot uk


--- Comment #2 from s_j_newbury at yahoo dot co dot uk  2007-03-23 12:55 
---
Created an attachment (id=13261)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13261action=view)
add softfloat support to libffi for ARM EABI


-- 


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



[Bug fortran/31306] ICE with implicit character variables

2007-03-23 Thread pault at gcc dot gnu dot org


--- Comment #1 from pault at gcc dot gnu dot org  2007-03-23 12:55 ---
This is a case of cyclic specification so I have changed the keyword to
ice-on-ivalid.

Confirmed

Paul 


-- 

pault at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords|ice-on-valid-code   |ice-on-invalid-code
   Last reconfirmed|-00-00 00:00:00 |2007-03-23 12:55:58
   date||


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



[Bug java/31325] gcj support for ARM EABI

2007-03-23 Thread s_j_newbury at yahoo dot co dot uk


--- Comment #3 from s_j_newbury at yahoo dot co dot uk  2007-03-23 13:03 
---
Created an attachment (id=13262)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13262action=view)
EABI can't implement _Unwind_Backtrace

This patch is from this bug:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29206


-- 


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



[Bug java/31325] gcj support for ARM EABI

2007-03-23 Thread s_j_newbury at yahoo dot co dot uk


--- Comment #4 from s_j_newbury at yahoo dot co dot uk  2007-03-23 13:08 
---
Created an attachment (id=13263)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13263action=view)
enable the libgcj interpreter for arm platforms


-- 


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



[Bug java/31325] gcj support for ARM EABI

2007-03-23 Thread s_j_newbury at yahoo dot co dot uk


--- Comment #5 from s_j_newbury at yahoo dot co dot uk  2007-03-23 13:11 
---
--disable-sjlj-exceptions needs to be supplied to configure since it is not
automatically detected


-- 


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



[Bug java/31325] gcj support for ARM EABI

2007-03-23 Thread s_j_newbury at yahoo dot co dot uk


--- Comment #6 from s_j_newbury at yahoo dot co dot uk  2007-03-23 13:13 
---
I have encountered a strange build failure with classpath.  It is somehow
getting the build order wrong resulting in this error:

/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/build/gcc/gcj
-B/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/build/arm-iwmmxt-linux-gnueabi/libjava/
-B/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/build/gcc/
-Wno-deprecated --encoding=UTF-8 --bootclasspath '' --classpath
..:/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava:/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/build/arm-iwmmxt-linux-gnueabi/libjava:/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava/classpath:/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava/classpath/external/w3c_dom:/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava/classpath/external/sax:/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava/classpath/external/relaxngDatatype:.::
-C -d . -MD -MF lists/gnu-CORBA-DynAn.deps -MT lists/gnu-CORBA-DynAn.stamp -MP
@lists/gnu-CORBA-DynAn.list
/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava/classpath/java/lang/Throwable.java:44:
error: Class or interface 'java.io.Serializable' not found in import.
import java.io.Serializable;
  ^
/home/tmp/portage/dev-java/gcj-4.2.0_beta20070307/work/gcc-4.2-20070307/libjava/classpath/java/lang/Throwable.java:107:
error: Superinterface 'Serializable' of class 'java.lang.Throwable' not found.
public class Throwable implements Serializable
 ^
Manually building java.io.Serializable allows the build to continue.  Why is
this happening?  It doesn't happen with i686 or x86_64 with the same snapshot.


-- 


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



[Bug java/31325] gcj support for ARM EABI

2007-03-23 Thread s_j_newbury at yahoo dot co dot uk


--- Comment #7 from s_j_newbury at yahoo dot co dot uk  2007-03-23 13:22 
---
Created an attachment (id=13264)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13264action=view)
arm-iwmmxt-linux-gnueabi platform support

I'm using arm-iwmmxt-linux-gnueabi instead of arm-none-linux-gnueabi which
needs this patch.


-- 


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



[Bug c++/31326] New: data members in multiple inheritance

2007-03-23 Thread gdr at gcc dot gnu dot org
G++ incorrectly rejects the following valid code

struct A { int x; };
struct B { int x; };
struct C : virtual A, virtual B { int x; };
struct D : virtual A, virtual B, virtual C { };

int main()
{
   D* d = new D();
   d-x = 42;
}


-- 
   Summary: data members in multiple inheritance
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Keywords: rejects-valid
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: gdr at gcc dot gnu dot org
  GCC host triplet: platform independent


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



[Bug tree-optimization/31136] [4.2 Regression] FRE ignores bit-field truncation (C and C++ front-end don't produce bit-field truncation

2007-03-23 Thread joseph at codesourcery dot com


--- Comment #11 from joseph at codesourcery dot com  2007-03-23 13:41 
---
Subject: Re:  [4.2 Regression] FRE ignores
 bit-field truncation (C and C++ front-end don't produce bit-field truncation

On Fri, 23 Mar 2007, pinskia at gmail dot com wrote:

 No, STRIP_SIGN_NOPS is correct, just fold_unary is incorrect in its

That depends on an analysis of every caller of STRIP_SIGN_NOPS to work out 
what semantics they require and whether removing conversions changing the 
value is correct in that case.  Only then can you determine whether 
STRIP_SIGN_NOPS should have the present semantics and some subset of 
callers should be changed to work with those semantics, or whether the 
semantics of STRIP_SIGN_NOPS would better be changed.

On the whole I think that references to the mode in STRIP_NOPS and 
STRIP_SIGN_NOPS are rather doubtful - mode should not be of relevance at 
this level of tree optimizations - and mode is probably being used as a 
proxy for precision.  The general sequence of integer type conversions can 
be represented in the form truncate to M bits, sign-extend to N bits and 
then zero-extend to the width of the outer type, maybe this should be 
represented somehow; then it would be defined exactly what such 
conversions can be removed by these macros.


-- 


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



[Bug c++/31326] data members in multiple inheritance

2007-03-23 Thread gdr at gcc dot gnu dot org


--- Comment #1 from gdr at gcc dot gnu dot org  2007-03-23 13:45 ---
.


-- 

gdr at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-03-23 13:45:59
   date||


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



[Bug c++/31315] internal compiler error on mis-spelled syntax

2007-03-23 Thread bangerth at dealii dot org


--- Comment #3 from bangerth at dealii dot org  2007-03-23 14:09 ---
Confirmed, but this has already been fixed after release 3.4.4 and
before release 3.4.5. None of the newer releases are affected.

W.


-- 

bangerth at dealii dot org changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |3.4.5


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



[Bug c++/19351] operator new[] can return heap blocks which are too small

2007-03-23 Thread mmitchel at gcc dot gnu dot org


--- Comment #10 from mmitchel at gcc dot gnu dot org  2007-03-23 15:00 
---
What does the C standard say about calloc?  That's a similar case; the
multiplication is in calloc.  Does it have to report an error?


-- 


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



[Bug c/31327] New: Cast on expression using induction variable not honored at O1 and O2

2007-03-23 Thread thutt at vmware dot com
gcc information:

Using built-in specs.
Target: i686-linux
Configured with: ../gcc-4.1.1/configure
--prefix=/build/toolchain/lin32/gcc-4.1.1 --disable-nls --enable-shared
--enable-threads=posix --enable-languages=c,c++ --with-gnu-as --with-gnu-ld
--target=i686-linux
--with-as=/build/toolchain/lin32/binutils-2.16.1-vt/bin/i686-linux-as
--with-ld=/build/toolchain/lin32/binutils-2.16.1-vt/bin/i686-linux-ld
--enable-__cxa_atexit --with-sysroot=/build/toolchain/lin32/glibc-2.2.5-44
--disable-tls
Thread model: posix
gcc version 4.1.1

When using the following script (which is probably only suitable for
my work environment):

#!/bin/bash

SRCDIR=/tmp/gcc4-error;
GCC4=/build/toolchain/lin32/gcc-4.1.1/bin/i686-linux-gcc
--sysroot=/build/toolchain/lin32/glibc-2.2.5-44;

${GCC4} -v

for OPT in $(seq 0 3) ; do
OUTPUT=${SRCDIR}/error-O${OPT};
GCC_OPT=-Wall -Werror -O${OPT} -g3 --save-temps;
echo Executing with optimization -O${OPT}
rm -f ${OUTPUT};
${GCC4} ${GCC_OPT} -o ${OUTPUT} ${SRCDIR}/error.c
${OUTPUT}
done;

to compile the following source:

#include stdio.h

static const int loop_start = 118;
static const int loop_end   = 127;

void fails_0_at_O1_O2(char *arr, int l)
{
   int i;
   for (i = loop_start; i  loop_end; ++i) {
  printf(%s: arr[%3d] = %4d\t(char)(i + 5) = %3d\n,
 __PRETTY_FUNCTION__, i, arr[i], (char)(i + 5));
   }
   printf(\n);
}

void fails_1_at_O1_O2(char *arr, int l)
{
   int  i;
   for (i = loop_start; i  loop_end; ++i) {
  char v = i + 5;
  printf(%s: arr[%3d] = %4d\tv = %3d\n,
 __PRETTY_FUNCTION__, i, arr[i], v);
   }
   printf(\n);
}

void works_at_all_O_levels(char *arr, int l)
{
   int i;
   for (i = loop_start; i  loop_end; ++i) {
  volatile char v = i + 5;
  printf(%s: arr[%3d] = %4d\tv = %3d\n,
 __PRETTY_FUNCTION__, i, arr[i], v);
   }
   printf(\n);
}

int main(void)
{
   const int l = 190;
   char  arr[256];
   int   i;

   for (i = 0; i  l; ++i) {
  arr[i] = (char)(i + 5);
   }

   fails_0_at_O1_O2(arr, l);
   fails_1_at_O1_O2(arr, l);
   works_at_all_O_levels(arr, l);
   return 0;
}

At optimization levels {0..3}, the compiler does not honor the cast of
the 'i + 5' at levels O1 and O2.

The output for all optimization levels, around the boundary case, is
shown below.  Notice how the value based on the induction variable
does not wrap to -128 in O1 and O2.

  Executing with optimization -O0
  fails_0_at_O1_O2: arr[118] =  123 (char)(i + 5) = 123
  fails_0_at_O1_O2: arr[119] =  124 (char)(i + 5) = 124
  fails_0_at_O1_O2: arr[120] =  125 (char)(i + 5) = 125
  fails_0_at_O1_O2: arr[121] =  126 (char)(i + 5) = 126
  fails_0_at_O1_O2: arr[122] =  127 (char)(i + 5) = 127
  fails_0_at_O1_O2: arr[123] = -128 (char)(i + 5) = -128
  fails_0_at_O1_O2: arr[124] = -127 (char)(i + 5) = -127
  fails_0_at_O1_O2: arr[125] = -126 (char)(i + 5) = -126
  fails_0_at_O1_O2: arr[126] = -125 (char)(i + 5) = -125

  fails_1_at_O1_O2: arr[118] =  123 v = 123
  fails_1_at_O1_O2: arr[119] =  124 v = 124
  fails_1_at_O1_O2: arr[120] =  125 v = 125
  fails_1_at_O1_O2: arr[121] =  126 v = 126
  fails_1_at_O1_O2: arr[122] =  127 v = 127
  fails_1_at_O1_O2: arr[123] = -128 v = -128
  fails_1_at_O1_O2: arr[124] = -127 v = -127
  fails_1_at_O1_O2: arr[125] = -126 v = -126
  fails_1_at_O1_O2: arr[126] = -125 v = -125

  works_at_all_O_levels: arr[118] =  123v = 123
  works_at_all_O_levels: arr[119] =  124v = 124
  works_at_all_O_levels: arr[120] =  125v = 125
  works_at_all_O_levels: arr[121] =  126v = 126
  works_at_all_O_levels: arr[122] =  127v = 127
  works_at_all_O_levels: arr[123] = -128v = -128
  works_at_all_O_levels: arr[124] = -127v = -127
  works_at_all_O_levels: arr[125] = -126v = -126
  works_at_all_O_levels: arr[126] = -125v = -125

  Executing with optimization -O1
  fails_0_at_O1_O2: arr[118] =  123 (char)(i + 5) = 123
  fails_0_at_O1_O2: arr[119] =  124 (char)(i + 5) = 124
  fails_0_at_O1_O2: arr[120] =  125 (char)(i + 5) = 125
  fails_0_at_O1_O2: arr[121] =  126 (char)(i + 5) = 126
  fails_0_at_O1_O2: arr[122] =  127 (char)(i + 5) = 127
  fails_0_at_O1_O2: arr[123] = -128 (char)(i + 5) = 128
  fails_0_at_O1_O2: arr[124] = -127 (char)(i + 5) = 129
  fails_0_at_O1_O2: arr[125] = -126 (char)(i + 5) = 130
  fails_0_at_O1_O2: arr[126] = -125 (char)(i + 5) = 131

  fails_1_at_O1_O2: arr[118] =  123 v = 123
  fails_1_at_O1_O2: arr[119] =  124 v = 124
  fails_1_at_O1_O2: arr[120] =  125 v = 125
  fails_1_at_O1_O2: arr[121] =  126 v = 126
  fails_1_at_O1_O2: arr[122] =  

[Bug c/31327] Cast on expression using induction variable not honored at O1 and O2

2007-03-23 Thread thutt at vmware dot com


--- Comment #1 from thutt at vmware dot com  2007-03-23 15:02 ---
Created an attachment (id=13265)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13265action=view)
Simple script to build test program at all optimization levels


-- 


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



[Bug c/31327] Cast on expression using induction variable not honored at O1 and O2

2007-03-23 Thread thutt at vmware dot com


--- Comment #2 from thutt at vmware dot com  2007-03-23 15:03 ---
Created an attachment (id=13266)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13266action=view)
Simple source


-- 


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



[Bug c/31327] Cast on expression using induction variable not honored at O1 and O2

2007-03-23 Thread thutt at vmware dot com


--- Comment #3 from thutt at vmware dot com  2007-03-23 15:03 ---
Created an attachment (id=13267)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13267action=view)
preprocessed source


-- 


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



[Bug c++/19351] operator new[] can return heap blocks which are too small

2007-03-23 Thread schwab at suse dot de


--- Comment #11 from schwab at suse dot de  2007-03-23 15:09 ---
The calloc function allocates space for an array of nmemb objects, each of
whose size is size.
There is no mentioning of overflow, but the allocated space must surely be big
enough to hold the array, and calloc shall fail if it cannot fulfill the
request.


-- 


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



[Bug java/31325] gcj support for ARM EABI

2007-03-23 Thread s_j_newbury at yahoo dot co dot uk


--- Comment #8 from s_j_newbury at yahoo dot co dot uk  2007-03-23 15:20 
---
I've now hit:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24154

I only have 64M RAM + 256M swap, make is running out of memory and getting
killed.

Maybe I can add some more swap over NFS...?


-- 


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



[Bug c++/19351] operator new[] can return heap blocks which are too small

2007-03-23 Thread fw at deneb dot enyo dot de


--- Comment #12 from fw at deneb dot enyo dot de  2007-03-23 15:23 ---
Subject: Re:  operator new[] can return heap blocks which are too small

* mmitchel at gcc dot gnu dot org:

 What does the C standard say about calloc?  That's a similar case; the
 multiplication is in calloc.  Does it have to report an error?

My interpretation is that it must return NULL.  (This was fixed in GNU
libc years ago.)


-- 


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



[Bug c/31327] Cast on expression using induction variable not honored at O1 and O2

2007-03-23 Thread pinskia at gcc dot gnu dot org


--- Comment #4 from pinskia at gcc dot gnu dot org  2007-03-23 15:37 ---


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


-- 

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



[Bug tree-optimization/26719] [4.1 Regression] Computed (integer) table changes with -O

2007-03-23 Thread pinskia at gcc dot gnu dot org


--- Comment #14 from pinskia at gcc dot gnu dot org  2007-03-23 15:37 
---
*** Bug 31327 has been marked as a duplicate of this bug. ***


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||thutt at vmware dot com


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



[Bug c++/31326] data members in multiple inheritance

2007-03-23 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2007-03-23 15:48 ---
Maybe this is not obvious to me why this is valid code, why is this valid code?


-- 


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



[Bug tree-optimization/26719] [4.1 Regression] Computed (integer) table changes with -O

2007-03-23 Thread thutt at vmware dot com


--- Comment #15 from thutt at vmware dot com  2007-03-23 15:51 ---
In regards to comment #13: In what tarball is this defect fixed?


-- 


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



[Bug tree-optimization/26719] [4.1 Regression] Computed (integer) table changes with -O

2007-03-23 Thread pinskia at gcc dot gnu dot org


--- Comment #16 from pinskia at gcc dot gnu dot org  2007-03-23 15:54 
---
 In regards to comment #13: In what tarball is this defect fixed?

The 4.1.2 release as indicated by the target milestone and the known to work
field.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

  Known to work|4.0.3 4.2.0 |4.0.3 4.2.0 4.1.2


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



[Bug c++/31328] New: Temporary object incorrectly parsed as confilcint declaration

2007-03-23 Thread danq at acacetus dot com
The C++ code below demonstrates how gcc treats an instance of a temporary as a
variable declaration instead.  Without ugly syntax work-arounds, it is not
possible to instantiate the temporary.

[ Code Begins ]

struct Obj
{
  int a ;
} ;

typedef Obj * Obj_P ;

class Foo
{
  public :

inline Foo (Obj_P obj_p) : obj_p (obj_p)
  {
  }

  private :

Obj_P obj_p ;
} ;

//--//

int main (void)
{
  Obj_P obj_p = 0 ;

  Foo (obj_p) ;// Error - Attempts to re-declare 'obj_p'

  0,Foo (obj_p) ;  // Ok - Comma operator

  Foo ((0,obj_p)) ;// Ok - Comma operator

  Foo (Obj_P(obj_p)) ; // Ok - Explicit type case

  return 0 ;
}

[ Code Ends ]--

[ Compile Info Starts ]

Compiled with: gcc -v -save-temps main.cpp

Reading specs from /usr/lib/gcc/i686-pc-cygwin/3.4.4/specs
Configured with: /usr/build/package/orig/test.respin/gcc-3.4.4-3/configure
--verbose --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --libdir=/usr/lib
--libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info
--enable-languages=c,ada,c++,d,f77,pascal,java,objc --enable-nls
--without-included-gettext --enable-version-specific-runtime-libs --without-x
--enable-libgcj --disable-java-awt --with-system-zlib --enable-interpreter
--disable-libgcj-debug --enable-threads=posix --enable-java-gc=boehm
--disable-win32-registry --enable-sjlj-exceptions --enable-hash-synchronization
--enable-libstdcxx-debug
Thread model: posix
gcc version 3.4.4 (cygming special, gdc 0.12, using dmd 0.125)
 /usr/lib/gcc/i686-pc-cygwin/3.4.4/cc1plus.exe -E -quiet -v -D__CYGWIN32__
-D__CYGWIN__ -Dunix -D__unix__ -D__unix -idirafter
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../include/w32api -idirafter
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/lib/../../include/w32api
main.cpp -mtune=pentiumpro -o main.ii
ignoring nonexistent directory /usr/local/include
ignoring nonexistent directory
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/include
ignoring duplicate directory
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/lib/../../include/w32api
#include ... search starts here:
#include ... search starts here:
 /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++
 /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/i686-pc-cygwin
 /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/backward
 /usr/lib/gcc/i686-pc-cygwin/3.4.4/include
 /usr/include
 /usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../include/w32api
End of search list.
 /usr/lib/gcc/i686-pc-cygwin/3.4.4/cc1plus.exe -fpreprocessed main.ii -quiet
-dumpbase main.cpp -mtune=pentiumpro -auxbase main -version -o main.s
GNU C++ version 3.4.4 (cygming special, gdc 0.12, using dmd 0.125)
(i686-pc-cygwin)
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
main.cpp: In function `int main()':
main.cpp:28: error: conflicting declaration 'Foo obj_p'
main.cpp:26: error: 'obj_p' has a previous declaration as `Obj*obj_p'
main.cpp:28: error: declaration of `Foo obj_p'
main.cpp:26: error: conflicts with previous declaration `Obj*obj_p'
main.cpp:28: error: no matching function for call to `Foo::Foo()'
main.cpp:10: note: candidates are: Foo::Foo(const Foo)
main.cpp:13: note:  Foo::Foo(Obj*)

[ Compile Info Ends ]-

[ Preprocessed Output Begins ]

# 1 main.cpp
# 1 built-in
# 1 command line
# 1 main.cpp

struct Obj
{
  int a ;
} ;

typedef Obj * Obj_P ;

class Foo
{
  public :

inline Foo (Obj_P obj_p) : obj_p (obj_p)
  {
  }

  private :

Obj_P obj_p ;
} ;



int main (void)
{
  Obj_P obj_p = 0 ;

  Foo (obj_p) ;

  0,Foo (obj_p) ;

  Foo ((0,obj_p)) ;

  Foo (Obj_P(obj_p)) ;

  return 0 ;
}

[ Preprocessed Output Ends ]


-- 
   Summary: Temporary object incorrectly parsed as confilcint
declaration
   Product: gcc
   Version: 3.4.4
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: danq at acacetus dot com


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



[Bug c++/31328] Temporary object incorrectly parsed as confilcint declaration

2007-03-23 Thread danq at acacetus dot com


--- Comment #1 from danq at acacetus dot com  2007-03-23 16:13 ---
Created an attachment (id=13268)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13268action=view)
Example C++ source code


-- 


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



[Bug c++/31328] Temporary object incorrectly parsed as confilcint declaration

2007-03-23 Thread danq at acacetus dot com


--- Comment #2 from danq at acacetus dot com  2007-03-23 16:14 ---
Created an attachment (id=13269)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13269action=view)
The compiler output and error messages


-- 


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



[Bug c++/31328] Temporary object incorrectly parsed as confilcint declaration

2007-03-23 Thread danq at acacetus dot com


--- Comment #3 from danq at acacetus dot com  2007-03-23 16:14 ---
Created an attachment (id=13270)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13270action=view)
The preprocessed output


-- 


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



[Bug c++/31328] Temporary object incorrectly parsed as confilcint declaration

2007-03-23 Thread pinskia at gcc dot gnu dot org


--- Comment #4 from pinskia at gcc dot gnu dot org  2007-03-23 16:17 ---
IIRC this is what the C++ standard says this is parsed as.


-- 


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



[Bug fortran/31199] write with t1 + nonadvancing transfer format gives wrong output

2007-03-23 Thread patchapp at dberlin dot org


--- Comment #10 from patchapp at dberlin dot org  2007-03-23 16:20 ---
Subject: Bug number PR31199

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/2007-03/msg01554.html


-- 


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



[Bug target/31245] SSE2 generation bug with 4.1.2 and -O3

2007-03-23 Thread rth at gcc dot gnu dot org


--- Comment #10 from rth at gcc dot gnu dot org  2007-03-23 16:31 ---
Fixed.


-- 

rth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug target/31255] host gcc segfaults

2007-03-23 Thread mstein at phenix dot rootshell dot be


--- Comment #4 from mstein at phenix dot rootshell dot be  2007-03-23 17:19 
---
The Revision 123119 no longer has the reported problem.


-- 

mstein at phenix dot rootshell dot be changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||WORKSFORME


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



[Bug target/31242] Problem while compiling gcc for bfin-elf

2007-03-23 Thread mstein at phenix dot rootshell dot be


--- Comment #2 from mstein at phenix dot rootshell dot be  2007-03-23 17:24 
---
The Revision 123136 no longer has the reported problem.


-- 

mstein at phenix dot rootshell dot be changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||WORKSFORME


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



[Bug libgcj/24154] Make requires too much memory building libjava

2007-03-23 Thread s_j_newbury at yahoo dot co dot uk


--- Comment #7 from s_j_newbury at yahoo dot co dot uk  2007-03-23 18:16 
---
make version 3.81 on Gentoo (ARM EABI) needs 712MB at this point with
gcc-4.2-20070307.  I've had to use a CF disk to add enough swapspace :(.  make
3.80-r4 (Gentoo includes a memory usage patch) uses even more.


-- 


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



[Bug c++/31326] data members in multiple inheritance

2007-03-23 Thread gdr at cs dot tamu dot edu


--- Comment #3 from gdr at cs dot tamu dot edu  2007-03-23 18:33 ---
Subject: Re:  data members in multiple inheritance

pinskia at gcc dot gnu dot org [EMAIL PROTECTED] writes:

| Maybe this is not obvious to me why this is valid code, why is this
| valid code? 

paragrpah 10.2/2 from the C++ standard.

d-x should resolve unambiously to d-C::x, because C::x hides
A::x and B::x.  

-- Gaby


-- 


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



[Bug java/31325] gcj support for ARM EABI

2007-03-23 Thread tromey at gcc dot gnu dot org


--- Comment #9 from tromey at gcc dot gnu dot org  2007-03-23 19:32 ---
I didn't read the patches yet.

Do you have a copyright assignment?  That is a prerequisite for
getting these changes in.  Once that is resolved we can proceed
with the normal patch review process.

If you don't have one, send me email and I will get you started.
It doesn't take long, usually.

If you do have one, the best thing to do is send each patch as
a separate email (with ChangeLog entry  other stuff documented
in the submission docs) to the java-patches list.


-- 

tromey at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||tromey at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-03-23 19:32:20
   date||


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



[Bug c++/31330] New: small template-use example crashes g++ w/internal error

2007-03-23 Thread ilya at broad dot mit dot edu
/*
the following example crashes g++:

4:13pm [EMAIL PROTECTED] /wga/dev/ilya  g++ -v
Using built-in specs.
Target: ia64-unknown-linux-gnu
Configured with: ../configure --prefix=/wga1/gcc-4.1.1
Thread model: posix
gcc version 4.1.1
4:13pm [EMAIL PROTECTED] /wga/dev/ilya  echo $OSTYPE
linux
4:13pm [EMAIL PROTECTED] /wga/dev/ilya  echo $MACHTYPE
ia64
4:13pm [EMAIL PROTECTED] /wga/dev/ilya  g++ t2.cc
t2.cc:8: internal compiler error: in is_ancestor, at cp/name-lookup.c:
Please submit a full bug report,
with preprocessed source if appropriate.
See URL:http://gcc.gnu.org/bugs.html for instructions.
4:13pm [EMAIL PROTECTED] /wga/dev/ilya  


*/

class A {
  template class B void foo(B b) {
  }
};

template class SubOfB 
void SubOfB::bar(A a) {
  a.foo(*this);
}


-- 
   Summary: small template-use example crashes g++ w/internal error
   Product: gcc
   Version: 4.1.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ilya at broad dot mit dot edu


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



[Bug fortran/31295] Uninitialized variable in libgfortran's _gfortran_eoshift0_4

2007-03-23 Thread tkoenig at alice-dsl dot net


--- Comment #1 from tkoenig at alice-dsl dot net  2007-03-23 20:14 ---
The eoshift.f90 case is 'mostly harmless'.  We are doing calculations
with the value, but don't actually use this for anything.

We can fix this (cosmetic fix for valgrind, really) by
setting sstride[0] to an arbitray value that would cause
a segfault if the value was actually used for anything.


-- 


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



[Bug testsuite/25241] DejaGNU does not distinguish between errors and warnings

2007-03-23 Thread janis at gcc dot gnu dot org


--- Comment #31 from janis at gcc dot gnu dot org  2007-03-23 20:51 ---
As for the puzzle in comment #30, I don't understand it either, but didn't try
very hard.  This works for the current testsuite and the patch:

struct g g2 = { { 0, { 1 } } }; /* { dg-error nested context.*g2.f.x nested
} */

struct h { int x[0]; int y; };
struct h h1 = { { 0 }, 1 }; /* { dg-warning excess elements.*h1.x before
end } */

If you think it's important, Manuel, I'll try to figure out what was happening.


-- 


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



[Bug libfortran/31295] Uninitialized variable in libgfortran's _gfortran_eoshift0_4

2007-03-23 Thread fxcoudert at gcc dot gnu dot org


-- 

fxcoudert at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
  Component|fortran |libfortran
 Ever Confirmed|0   |1
  Known to fail||4.1.3 4.2.0 4.3.0
   Last reconfirmed|-00-00 00:00:00 |2007-03-23 21:14:33
   date||
   Target Milestone|--- |4.3.0


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



[Bug testsuite/25241] DejaGNU does not distinguish between errors and warnings

2007-03-23 Thread janis at gcc dot gnu dot org


--- Comment #32 from janis at gcc dot gnu dot org  2007-03-23 21:15 ---
Manuel, I'm starting to clean up tests so they can be used with or without the
patch, like the fixes you've been posting.  First I'm doing tests in
gcc.dg/dfp.  Let me know if there's an area you're not already looking at that
I can do next.


-- 


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



[Bug c/31331] New: ICE on invalid function attribute syntax for main()

2007-03-23 Thread eweddington at cso dot atmel dot com
Program:
__attribute__ ((naked)) int main(void)
{
return 0;
}

Compiled with 4.1.1 for the AVR target:

Compiling C: test.c
avr-gcc -c -mmcu=atmega128 -I. -gdwarf-2 -DF_CPU=800UL -Os -funsigned-char
-funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes
-Wa,-adhlns=./test.lst  -std=gnu99 -Wundef -MMD -MP -MF .dep/test.o.d test.c -o
test.o 
test.c:2: internal compiler error: in start_function, at c-decl.c:6014
Please submit a full bug report,


A program with the proper syntax, compiles without error:

int main(void) __attribute__ ((naked));

int main(void)
{
return 0;
}


-- 
   Summary: ICE on invalid function attribute syntax for main()
   Product: gcc
   Version: 4.1.1
Status: UNCONFIRMED
  Severity: minor
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: eweddington at cso dot atmel dot com
 GCC build triplet: mingw
  GCC host triplet: mingw
GCC target triplet: avr


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



[Bug libfortran/31286] cshift uses uninitialized variables

2007-03-23 Thread fxcoudert at gcc dot gnu dot org


-- 

fxcoudert at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-03-23 21:20:08
   date||
   Target Milestone|--- |4.3.0


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



[Bug libfortran/31296] Uninitialized variable in libgfortran's _gfortran_unpack0_char

2007-03-23 Thread fxcoudert at gcc dot gnu dot org


-- 

fxcoudert at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
  Component|fortran |libfortran
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-03-23 21:21:00
   date||


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



[Bug libfortran/31297] Use of uninitialized variables in libgfortran's I/O

2007-03-23 Thread fxcoudert at gcc dot gnu dot org


-- 

fxcoudert at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
  Known to fail||4.1.3 4.2.0 4.3.0
   Last reconfirmed|-00-00 00:00:00 |2007-03-23 21:21:25
   date||
   Target Milestone|--- |4.3.0


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



[Bug target/31152] -(xy) generates wrong code

2007-03-23 Thread fb at frank-buss dot de


--- Comment #3 from fb at frank-buss dot de  2007-03-23 21:27 ---
I can reproduce the problem on a Linkstation Pro with an ARM926EJ CPU. I
compiled GCC SVN revision 123155 from the gcc-4_2-branch on it. Creating wrong
assembler code is at least a major bug, even when using the optimizing switch
(which many programs do), so please change severity to major.


-- 

fb at frank-buss dot de changed:

   What|Removed |Added

 CC||fb at frank-buss dot de


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



[Bug libfortran/31299] Use getpwuid(geteuid()) instead of getlogin() for GETLOG()

2007-03-23 Thread fxcoudert at gcc dot gnu dot org


--- Comment #12 from fxcoudert at gcc dot gnu dot org  2007-03-23 21:28 
---
Confirming this as a low-priority enhancement. After all, even though we have
historical reasons to implement GETLOG using getlogin(), if the information
returned by another scheme is more relevant *in all cases*, we should change
it.


-- 

fxcoudert at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
  Component|fortran |libfortran
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-03-23 21:28:54
   date||


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



[Bug fortran/31270] print subscript value and array bounds when out-of-bounds error occurs

2007-03-23 Thread fxcoudert at gcc dot gnu dot org


--- Comment #1 from fxcoudert at gcc dot gnu dot org  2007-03-23 21:32 
---
We could do that, I even know precisely how and it's not too hard. It requires
creating a call to a va_arg function in the front-end, which I would need to
research because I've never done that.


-- 

fxcoudert at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||fxcoudert at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-03-23 21:32:11
   date||


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



[Bug fortran/31310] gfortran is missing -fcase-preserve option

2007-03-23 Thread fxcoudert at gcc dot gnu dot org


--- Comment #2 from fxcoudert at gcc dot gnu dot org  2007-03-23 21:34 
---
We probably don't want to add all the g77 case options, but I can see why
-fcase-preserve would be a good one to add.


-- 

fxcoudert at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-03-23 21:34:20
   date||


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



[Bug fortran/30878] Rejects function f1; namelist /nml/ f1

2007-03-23 Thread fxcoudert at gcc dot gnu dot org


--- Comment #2 from fxcoudert at gcc dot gnu dot org  2007-03-23 21:41 
---
There are only two restrictions on the namelist-group-objects, and this one is
not in the list:

C574 (R553) A namelist-group-object shall not be an assumed-size array.
C575 (R552) A namelist-group-object shall not have the PRIVATE attribute if the
namelist-group-name has the PUBLIC attribute.

(PS: when fixing this, someone should check that the two constraints above are
checked)


-- 

fxcoudert at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-03-23 21:41:09
   date||


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



[Bug testsuite/25241] DejaGNU does not distinguish between errors and warnings

2007-03-23 Thread manu at gcc dot gnu dot org


--- Comment #33 from manu at gcc dot gnu dot org  2007-03-23 21:52 ---
(In reply to comment #32)
 Manuel, I'm starting to clean up tests so they can be used with or without the
 patch, like the fixes you've been posting.  First I'm doing tests in
 gcc.dg/dfp.  Let me know if there's an area you're not already looking at that
 I can do next.
 

I can give you the list of tests that still fail with the most recent patch +
fixes + sed-magic. Those are the tricky ones because they need to be checked
one by one.

However, I think it is more urgent to fix the issues described in comment #22,
(that is, the regexp does not match the output of fortran) and in comment #23,
(that is out-of-order diagnostics are not handled correctly). Those are
show-stoppers from my point of view. As you said, the issue in comment #30 can
be worked around.


-- 


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



[Bug testsuite/25241] DejaGNU does not distinguish between errors and warnings

2007-03-23 Thread manu at gcc dot gnu dot org


--- Comment #34 from manu at gcc dot gnu dot org  2007-03-23 21:59 ---
Created an attachment (id=13271)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13271action=view)
Script to make automatic fixes to the testsuite

This script fixes the work-arounds used in the testsuite with some sed magic. 

It also applies the custom fixes for broken testcases that I am collecting. I
am keeping those in files named as fix-X.diff where X is the basename of the
testcase. I have around 15 of those. (I can attach them, send them to
gcc-patches or commit them as obvious, since it seems nobody can or want to
review them...).

fix-19940712-1.diff
fix-2625-1.diff
fix-20050121-1.diff
fix-940510-1.diff
fix-arith-3.diff
fix-attribute2.diff
fix-bitfld-1.diff
fix-charconst.diff
fix-direct2.diff
fix-empty2.diff
fix-endif-pedantic2.diff
fix-escape-1.diff
fix-extratokens.diff
fix-glibc-uclibc.diff
fix-pack-test-2.diff


-- 


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



[Bug testsuite/25241] DejaGNU does not distinguish between errors and warnings

2007-03-23 Thread manu at gcc dot gnu dot org


--- Comment #35 from manu at gcc dot gnu dot org  2007-03-23 22:06 ---
(In reply to comment #32)
 Manuel, I'm starting to clean up tests so they can be used with or without the
 patch, like the fixes you've been posting.  First I'm doing tests in
 gcc.dg/dfp.  

I don't see any failures in gcc.dg/dfp. Janis, what do you mean by cleaning?


-- 


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



[Bug testsuite/25241] DejaGNU does not distinguish between errors and warnings

2007-03-23 Thread manu at gcc dot gnu dot org


--- Comment #36 from manu at gcc dot gnu dot org  2007-03-23 22:13 ---
Created an attachment (id=13272)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13272action=view)
List of broken testcases at revision 123028

Janis, this is the list of testcases broken by the last version of the patch
(after running fixtestsuite.sh). Notice that the list is one iteration old,
that is, some failures have fixes already (in the list of fix-*.diff files I
gave before).


-- 


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



[Bug fortran/18937] quadratic behaviour with many label spaghetti code

2007-03-23 Thread tobi at gcc dot gnu dot org


--- Comment #11 from tobi at gcc dot gnu dot org  2007-03-23 22:27 ---
I've implemented Steven's bitmap idea (see PR18540).  spaghetti 9 compiles
within the blink of an eye.  Unfortunately, my current patch foregos step four
from resolve_branch, which is necessary to establish validity of the source
program, and at the moment I have no convincong idea on how to implement this
in the framework with bitmaps.  I hope I can attend to this soon, thus
re-assigning to myself.


-- 

tobi at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |tobi at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2006-01-14 19:03:18 |2007-03-23 22:27:07
   date||


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



[Bug fortran/18937] quadratic behaviour with many label spaghetti code

2007-03-23 Thread tobi at gcc dot gnu dot org


--- Comment #12 from tobi at gcc dot gnu dot org  2007-03-23 22:35 ---
Well, within the blink of an eye because I was looking at spaghetti 1000 :-) 
But the increase in time is linear.


-- 


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



[Bug libfortran/31052] Bad IOSTAT values when readings NAMELISTs past EOF

2007-03-23 Thread anlauf at gmx dot de


--- Comment #27 from anlauf at gmx dot de  2007-03-23 22:39 ---
Created an attachment (id=13273)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13273action=view)
Another variant of the bug


-- 


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



[Bug libfortran/31052] Bad IOSTAT values when readings NAMELISTs past EOF

2007-03-23 Thread anlauf at gmx dot de


--- Comment #28 from anlauf at gmx dot de  2007-03-23 22:39 ---
Created an attachment (id=13274)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13274action=view)
Namelist for the modified demo


-- 


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



[Bug libfortran/31052] Bad IOSTAT values when readings NAMELISTs past EOF

2007-03-23 Thread anlauf at gmx dot de


--- Comment #29 from anlauf at gmx dot de  2007-03-23 22:43 ---
(In reply to comment #27)

Jerry,

with the latest variant of your patch I get a failing namelist read
with the new reduced testcase gfcbug61a.f90 (uses gfcbug61a.nml).

If I remove one of the entries in the namelist file,
the second read succeeds.  There must still be a problem with
REWIND/BACKSPACE/READ.


-- 


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



[Bug testsuite/25241] DejaGNU does not distinguish between errors and warnings

2007-03-23 Thread janis at gcc dot gnu dot org


--- Comment #37 from janis at gcc dot gnu dot org  2007-03-23 22:48 ---
The tests in gcc.dg/dfp are only run for a compiler configured with
--enable-decimal-float; the diagnostics tests there often just have error or
warning as the expression to match.  I have patches for those and for most of
the tests in gcc.dg/cpp.  I'm planning to submit patches with batches of fixes,
ask for comments, and then just check them in.  The results are no different
and they can be changed back later.  I recommend that you do the same, Manuel,
and copy me so I can approve them, since I've been behind in keeping up with
gcc-patches recently.

I'll take a closer look at comments #22 and #23.

If you show up on irc we can chat about this.


-- 


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



[Bug testsuite/25241] DejaGNU does not distinguish between errors and warnings

2007-03-23 Thread janis at gcc dot gnu dot org


--- Comment #38 from janis at gcc dot gnu dot org  2007-03-23 23:52 ---
For comment #32 I get the failure but don't understand the problem; the regexp
matches the message, doesn't it?  This doesn't seem any different from other
Fortran tests but it's the only one that fails; perhaps there's something
special about specifying the line number in the test directive, or that the
message comes from a file with a different name.  I'll stare at it again later.

For comment #33, is this still an issue with janis-try-2.diff?  I changed the
test to remove error: from regular expressions and to fix a few dg-warnings
that should have been dg-error and the test passes for me.


-- 


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



[Bug c++/31330] small template-use example crashes g++ w/internal error

2007-03-23 Thread fang at csl dot cornell dot edu


--- Comment #1 from fang at csl dot cornell dot edu  2007-03-24 00:26 
---
PR 27102 dup?
using template parameter as a class name of member function.


-- 

fang at csl dot cornell dot edu changed:

   What|Removed |Added

 CC||fang at csl dot cornell dot
   ||edu


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



[Bug testsuite/25241] DejaGNU does not distinguish between errors and warnings

2007-03-23 Thread manu at gcc dot gnu dot org


--- Comment #39 from manu at gcc dot gnu dot org  2007-03-24 00:28 ---
(In reply to comment #37)
 The tests in gcc.dg/dfp are only run for a compiler configured with
 --enable-decimal-float; the diagnostics tests there often just have error or
 warning as the expression to match.  I have patches for those and for most 
 of
 the tests in gcc.dg/cpp.  I'm planning to submit patches with batches of 
 fixes,
 ask for comments, and then just check them in.  The results are no different
 and they can be changed back later.  I recommend that you do the same, Manuel,
 and copy me so I can approve them, since I've been behind in keeping up with
 gcc-patches recently.

I built always with --enable-decimal-float. We are duplicating work :(

First, you don't need to fix those testcases that use warning or error as
the expression to match, since those can be fixed automatically by the script
that I have attached and are guaranteed to work. Moreover, until the final
patch is in, those are guaranteed to keep working, so they should be the last
ones to be committed. (But it is good to fix them in your working copy using my
script so they don't distract you from the real failures).

The testcases that we should really fix (see the list that I have attached)
are:

1) Those where the wrong directive is used.
2) Those that use a dg-warning or dg-error to match something that is neither a
warning nor an error.
3) Those that fail for some other reason.

And (3) are the most important because they typically mean that we need to
tweak something in the current patch.

Two failures of type (3) are gcc/testsuite/gcc.dg/20041213-1.c and
gcc/testsuite/gfortran.dg/badline.f 

Could you look why those two fail? I am sure that if we fix the patch to match
correctly those testcases, then a bunch of other failures will go away as well.


-- 


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



[Bug bootstrap/31039] Latest CVS-stage 2-Cannot create executables

2007-03-23 Thread tprince at computer dot org


--- Comment #2 from tprince at computer dot org  2007-03-24 01:22 ---
Note that the newly built bootstrap compiler fails the configure tests which
have a trailing -V on the command line.  Nearly all the various configure
scripts provoke this failure.  The one cited here happens to be the first.


-- 

tprince at computer dot org changed:

   What|Removed |Added

 CC||tprince at computer dot org


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



[Bug bootstrap/31039] Latest CVS-stage 2-Cannot create executables

2007-03-23 Thread tprince at computer dot org


--- Comment #3 from tprince at computer dot org  2007-03-24 03:06 ---
The failure can be worked around by commenting out the section of stdio.h in
the cygwin distribution which sets __SCLE  (conversion of \r\n to \n, according
to comments).  The  code thus commented out apparently requires some cygwin
extensions in the library which have disappeared since 20070224 (quoted by
submitter as last working build).  I concur, having built successfully the
20070223.


-- 


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