[Bug c++/17743] __alignof__ vs. typedefs

2004-09-30 Thread gdr at cs dot tamu dot edu

--- Additional Comments From gdr at cs dot tamu dot edu  2004-09-30 11:12 ---
Subject: Re:  __alignof__ vs. typedefs

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

| Actually this is the attribute aligned vs arrays.
| 
| I cannot decode what the documenation means:
| Note that although you can ask the compiler to select a
| time-efficient alignment for a given type and  
| then declare only individual stand-alone objects of that type, the
| compiler's ability to select a time- 
| efficient alignment is primarily useful only when you plan to create
| arrays of variables having the  
| relevant (efficiently aligned) type. If you declare or use arrays of
| variables of an efficiently-aligned type,  
| then it is likely that your program will also be doing pointer
| arithmetic (or subscripting, which amounts  
| to the same thing) on pointers to the relevant type, and the code
| that the compiler generates for these  
| pointer arithmetic operations will often be more efficient for
| efficiently-aligned types than for other types.

I don't see how much this is relevant to the different uses of the
aligned attribute in the library.  Right now, the compiler is just
ignoring the aligned attribute.  We're more intersted in the semantics
than in the speed.

What we want is to align a given *array object* at some alignment
boundaries.  We're not interested in pointer arithmetics on array
types or speed -- although we may be doing pointer arithmetic on
individual elements of the array, but that is a separate issue.
The primarily thing is the ability to align an array object on a given
boundary. 

-- Gaby


-- 


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


[Bug middle-end/16815] MIPS n32/n64 inefficient code for float arguments

2004-09-30 Thread giovannibajo at libero dot it

--- Additional Comments From giovannibajo at libero dot it  2004-09-30 11:19 
---
Patch here:
http://gcc.gnu.org/ml/gcc-patches/2004-09/msg01735.html

-- 
   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rsandifo at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
   Keywords||patch


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


[Bug tree-optimization/17724] [4.0 Regression] wrong dominator (eh/fold all builtins) related

2004-09-30 Thread micis at gmx dot de

--- Additional Comments From micis at gmx dot de  2004-09-30 11:29 ---
After compiling ~2500 files I found one where this error still occures.
Below is a reduced testcase.

/usr/local/gcc40/bin/g++40 -O2 -c -o out.o src.ii -v
Reading specs from /usr/local/gcc40/lib/gcc/powerpc-unknown-linux-
gnu/4.0.0/specs
Configured with: ../gcc40/configure --prefix=/usr/local/gcc40 --program-
suffix=40 --with-cpu=G5 --enable-altivec --enable-languages=c,c++ --enable-
checking
Thread model: posix
gcc version 4.0.0 20040926 (experimental)
 /usr/local/gcc40/libexec/gcc/powerpc-unknown-linux-gnu/4.0.0/cc1plus -
fpreprocessed src.ii -quiet -dumpbase src.ii -mcpu=G5 -auxbase-strip out.o -O2 -
version -o /tmp/ccRGaRii.s
GNU C++ version 4.0.0 20040926 (experimental) (powerpc-unknown-linux-gnu)
compiled by GNU C version 4.0.0 20040926 (experimental).
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
src.ii: In member function `int C::D()':
src.ii:11: error: dominator of 3 should be 2, not 0
src.ii:11: internal compiler error: in verify_dominators, at dominance.c:860
Please submit a full bug report, with preprocessed source if appropriate.


Michael Cieslinski


extern char *strcpy (char* d, const char* s) throw ();

class A { public: A (); ~A (); };

inline char * B (char *s, const char *t)
{ return ::strcpy (s, t); }

class C { int D (void); int E; };


int C::D (void)
{
  A aa;
  try 
{
  char z [22];
  if (this->E)   B (z, "");
  return 0;
}

  catch (int &f) { return -1; } 
}


-- 


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


[Bug tree-optimization/17724] [4.0 Regression] wrong dominator (eh/fold all builtins) related

2004-09-30 Thread giovannibajo at libero dot it

--- Additional Comments From giovannibajo at libero dot it  2004-09-30 11:57 
---
Jakub, I'm assigning this bug to you since you posted a patch for it.

Can you check if the new testcase is the same bug which still surfaces, or a 
new one (for which a new PR should be opened)? Thanks.

-- 
   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jakub at redhat dot com
   |dot org |
 Status|NEW |ASSIGNED


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


[Bug c++/17743] __alignof__ vs. typedefs

2004-09-30 Thread giovannibajo at libero dot it

--- Additional Comments From giovannibajo at libero dot it  2004-09-30 12:27 
---
Benj, having a fix in time for 4.0 would help, or is it going to be 4.1 
material anyway?

-- 
   What|Removed |Added

 CC||giovannibajo at libero dot
   ||it


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


[Bug java/17733] class read for the second time

2004-09-30 Thread aph at gcc dot gnu dot org

--- Additional Comments From aph at gcc dot gnu dot org  2004-09-30 12:48 ---
.

-- 
   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |aph at gcc dot gnu dot org
   |dot org |
 Status|WAITING |ASSIGNED


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


[Bug java/17733] class read for the second time

2004-09-30 Thread aph at gcc dot gnu dot org


-- 
   What|Removed |Added

 Status|ASSIGNED|WAITING


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


[Bug ada/17746] [3.4 Regression] ICE when building the shared Ada RTS

2004-09-30 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2004-09-30 13:02 
---
This looks more like a front-end bug as size of the outer view convert is 512 while 
the inner is 32.

-- 
   What|Removed |Added

 CC||rth at gcc dot gnu dot org
  Component|bootstrap   |ada
Summary|ICE when building the shared|[3.4 Regression] ICE when
   |Ada RTS |building the shared Ada RTS
   Target Milestone|--- |4.0.0


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


[Bug fortran/17744] gfortran: gfc_todo: IO of arrays in derived types

2004-09-30 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2004-09-30 13:11 
---
Well the TODO has been fixed already but we get a different error now:
pr17744.f90:7: internal compiler error: in expand_assignment, at expr.c:3461
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html> for instructions.

while trying to expand:
twoint.0.i[S.7] = D.444;

Confirmed. I think this is either a middle-end issue or a front-end bug.

-- 
   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
   Keywords||ice-on-valid-code
   Last reconfirmed|-00-00 00:00:00 |2004-09-30 13:11:41
   date||


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


[Bug fortran/17744] gfortran: gfc_todo: IO of arrays in derived types

2004-09-30 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2004-09-30 13:13 
---
I should note that I get that ICE only at -O0, not at -O1 or above.

-- 


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


[Bug other/17466] Testsuites in gcc override LD_LIBRARY_PATH

2004-09-30 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2004-09-30 13:19 
---
Confirmed.

-- 
   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
   Keywords||patch
   Last reconfirmed|-00-00 00:00:00 |2004-09-30 13:19:50
   date||


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


[Bug bootstrap/17087] g++ testsuite fails to run because of libiconv

2004-09-30 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2004-09-30 13:20 
---
Hmm, I know that there were different bug reports from HJL about the same problems 
with the testsuite 
somewhere, yes, this is a dup of bug 17464.

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

-- 
   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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


[Bug other/17464] The newly built gcc shared libraries aren't used for bootstap and check

2004-09-30 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2004-09-30 13:20 
---
*** Bug 17087 has been marked as a duplicate of this bug. ***

-- 
   What|Removed |Added

 CC||James dot W dot Mckelvey at
   ||jpl dot nasa dot gov


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


[Bug rtl-optimization/16088] [4.0 Regression] Generates wrong code

2004-09-30 Thread pinskia at gcc dot gnu dot org


-- 
   What|Removed |Added

Summary|[4.0 Regression] Generates  |[4.0 Regression] Generates
   |invalid code|wrong code


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


[Bug libfortran/17748] New: libgfortran contains undefined references to _environ

2004-09-30 Thread peter at pogma dot com
libgfortran references environ which is not available to shared libraries directly on 
darwin. This means 
that we can not build fortran shared libraries without undefined symbols.

The solution is to use crt_externs.h and #define environ (*_NSGetEnviron()) in 
libgfortran/runtime/
environ.c.

-- 
   Summary: libgfortran contains undefined references to _environ
   Product: gcc
   Version: 4.0.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: libfortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: peter at pogma dot com
CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: powerpc-apple-darwin
  GCC host triplet: powerpc-apple-darwin
GCC target triplet: powerpc-apple-darwin


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


[Bug libfortran/17748] libgfortran contains undefined references to _environ

2004-09-30 Thread peter at pogma dot com

--- Additional Comments From peter at pogma dot com  2004-09-30 13:43 ---
Created an attachment (id=7245)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=7245&action=view)
proposed patch


-- 


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


[Bug libfortran/17748] libgfortran contains undefined references to _environ

2004-09-30 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2004-09-30 13:55 
---
all shared libraries in GCC are built with "-flat_namespace -undefined suppress" so 


-- 
   What|Removed |Added

  GCC build triplet|powerpc-apple-darwin|
   GCC host triplet|powerpc-apple-darwin|
 GCC target triplet|powerpc-apple-darwin|powerpc-darwin


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


[Bug libfortran/17748] libgfortran contains undefined references to _environ

2004-09-30 Thread peter at pogma dot com

--- Additional Comments From peter at pogma dot com  2004-09-30 14:04 ---
Yeah, but with undefined references in shared libraries in gfortran it means that it 
is impossible to 
create shared fortran libraries twolevel namespace on darwin. This was possible with 
f77.

In fact I see on closer inspection that libgcj.dylib has the same issue, I noticed the 
f77 issue by trying to 
run the libtool test suite with cvs gcc 4.0 and it skipped the f77 tests due to 
missing environ symbols.

-- 


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


[Bug libfortran/17748] libgfortran contains undefined references to _environ

2004-09-30 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2004-09-30 14:12 
---
This is still a bug as you cannot use the getenv intstricts on Darwin.

-- 
   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
 GCC target triplet|powerpc-darwin  |*-darwin
   Last reconfirmed|-00-00 00:00:00 |2004-09-30 14:12:28
   date||


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


[Bug fortran/17741] ICE in gfc_free_namespace, at fortran/symbol.c:2208

2004-09-30 Thread reichelt at gcc dot gnu dot org

--- Additional Comments From reichelt at gcc dot gnu dot org  2004-09-30 14:20 
---
Confirmed. Here's an even shorter testcase:


subroutine FOO
  interface
integer function BAR()
end subroutine



-- 
   What|Removed |Added

 CC||reichelt at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
   Keywords||ice-on-invalid-code
   Last reconfirmed|-00-00 00:00:00 |2004-09-30 14:20:39
   date||


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


[Bug tree-optimization/17749] New: [4.0 Regression] ICE

2004-09-30 Thread pinskia at gcc dot gnu dot org
code from Momchil Velikov (aka velco on #gcc) modified to get an ICE:
extern int foo (int, int);
extern int bar (int, int);
extern int baz (void);
extern int frob (int x);
extern int g(int x);

int xyzzy (int x, int y)
{
int *p;
x = foo (x, y);
if (x > 5)
p = &x;
else
p = &y;
y = bar (x, y);
if (baz ())
return xyzzy (x, y);
else
{
*p = frob (x);
return foo (x,y);
}
}

-- 
   Summary: [4.0 Regression] ICE
   Product: gcc
   Version: 4.0.0
Status: UNCONFIRMED
  Keywords: ice-on-valid-code
  Severity: critical
  Priority: P2
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pinskia at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org


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


[Bug tree-optimization/17749] [4.0 Regression] ICE

2004-09-30 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2004-09-30 14:31 
---
Here is the ICE:
x.c: In function 'xyzzy':
x.c:8: error: Found a virtual definition for a GIMPLE register
for SSA_NAME: D.1132_12in statement:
y_5 = PHI ;
PHI argument
D.1132_12
for PHI node
y_5 = PHI ;
x.c:8: internal compiler error: verify_ssa failed.
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html> for instructions.

-- 
   What|Removed |Added

   Target Milestone|--- |4.0.0


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


[Bug tree-optimization/17749] [4.0 Regression] ICE

2004-09-30 Thread pinskia at gcc dot gnu dot org


-- 
   What|Removed |Added

 CC||rakdver at gcc dot gnu dot
   ||org


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


[Bug c++/17743] __alignof__ vs. typedefs

2004-09-30 Thread bkoz at redhat dot com

--- Additional Comments From bkoz at redhat dot com  2004-09-30 14:48 ---
Subject: Re:  __alignof__ vs. typedefs


>Benj, having a fix in time for 4.0 would help, or is it going to be 4.1 
>material anyway?

Having a fix for this for 4.0.0 will definitely be useful. I'm kind of
surprised that this isn't working right now, actually: I thought it was.
See libstdc++-v3/src/globals*.cc.

If somebody wants to change the subjet to something better go for it.

-benjamin


-- 


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


[Bug fortran/17737] [4.0 regression] ICE when variable appears in two data statements

2004-09-30 Thread reichelt at gcc dot gnu dot org

--- Additional Comments From reichelt at gcc dot gnu dot org  2004-09-30 15:07 
---
Confirmed.

The problem is that the same variable appears in two data statements.
Just compile the following testcase without command-line parameters:


integer i
data i/0/
data i/0/
end


This works with the lno branch that was merged 20040718.
So I suppose this worked on mainline then, too.
It also worked with g77, so I'm rating this as a regression.


-- 
   What|Removed |Added

 CC||reichelt at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
   Keywords||ice-on-valid-code, monitored
  Known to fail||4.0.0
  Known to work||3.4.2
   Last reconfirmed|-00-00 00:00:00 |2004-09-30 15:07:54
   date||
Summary|ICE in  |[4.0 regression] ICE when
   |gfc_assign_data_value, at   |variable appears in two data
   |fortran/data.c:319  |statements
   Target Milestone|--- |4.0.0


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


[Bug c/17750] New: Program does not compile with -O3

2004-09-30 Thread bashley at myrealbox dot com
/*
Reading specs from /usr/lib/gcc/i686-pc-linux-gnu/3.4.0/specs
Configured with: ./configure -prefix=/usr
Thread model: posix
gcc version 3.4.0

program compiled on AMD 64 running Slackware 10.

program compiled with: gcc -O3 -c

Compiler Errors:
best.c: In function `wbest1':
best.c:24: error: prior parameter's size depends on 'numin'
best.c:24: error: prior parameter's size depends on 'numin'
best.c:24: error: prior parameter's size depends on 'numin'
best.c:24: error: prior parameter's size depends on 'numin'
best.c:24: error: prior parameter's size depends on 'numin'
best.c:24: error: prior parameter's size depends on 'numin'

Using --save-temps, here is best.i

# 1 "best.c"
# 1 ""
# 1 ""
# 1 "best.c"
# 25 "best.c"
void wbest1(numin,mat,tam,eig,ist)
int numin;
double mat[numin][numin],tam[numin][numin],eig[numin][numin];
int ist;
{
}

void wb(numin,mat,tam,eig,ist)
int numin;
double mat[numin][numin],tam[numin][numin],eig[numin][numin];
int ist;
{
}


Here is best.s:

.file   "best.c"
.section.note.GNU-stack,"",@progbits
.ident  "GCC: (GNU) 3.4.0"




*/





void wbest1(numin,mat,tam,eig,ist)
int numin;
double mat[numin][numin],tam[numin][numin],eig[numin][numin];
int ist;
{
}

void wb(numin,mat,tam,eig,ist)
int numin;
double mat[numin][numin],tam[numin][numin],eig[numin][numin];
int ist;
{
}

-- 
   Summary: Program does not compile with -O3
   Product: gcc
   Version: 3.4.0
Status: UNCONFIRMED
  Severity: critical
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: bashley at myrealbox dot com
CC: bashley at myrealbox dot com,gcc-bugs at gcc dot gnu dot
org


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


[Bug c/17750] Program does not compile with -O3

2004-09-30 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2004-09-30 15:18 
---
Fixed on the mainline and not going to be fixed for 3.4.x see dup bug 15114.

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

-- 
   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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


[Bug middle-end/15114] [3.4 regression] -funit-at-a-time causes compilation of functions with variable length arrays to fail

2004-09-30 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2004-09-30 15:18 
---
*** Bug 17750 has been marked as a duplicate of this bug. ***

-- 
   What|Removed |Added

 CC||bashley at myrealbox dot com


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


[Bug fortran/17740] ICE in gfc_trans_arrayfunc_assign, at fortran/trans-expr.c:2011

2004-09-30 Thread reichelt at gcc dot gnu dot org

--- Additional Comments From reichelt at gcc dot gnu dot org  2004-09-30 15:32 
---
Confirmed. Here's a reduced testcase:

=
module FOO
  interface BAR
 module procedure BAR2
  end interface
contains
  elemental integer function BAR2(X)
integer, intent(in) :: X
BAR2 = 0
  end function
  subroutine BAZ
integer :: Y(3), Z(3)
Z = BAR(Y)
  end subroutine
end module
=

With mainline I get:
  f951: ../../gcc/gcc/fortran/trans-expr.c:1776: gfc_trans_arrayfunc_assign:
Assertion `expr2->value.function.isym || (gfc_return_by_reference
(expr2->symtree->n.sym) && expr2->symtree->n.sym->result->attr.dimension)'
failed.
  PR17740.f90: In function `baz':
  PR17740.f90:12: internal compiler error: Aborted

Btw, ifort 8.1 segfaults on this code snippet.


-- 
   What|Removed |Added

 CC||reichelt at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
   Keywords||ice-on-valid-code, monitored
   Last reconfirmed|-00-00 00:00:00 |2004-09-30 15:32:52
   date||


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


[Bug java/17733] class read for the second time

2004-09-30 Thread aph at gcc dot gnu dot org

--- Additional Comments From aph at gcc dot gnu dot org  2004-09-30 15:40 ---
I can't duplicate this.  I get:

gcj -g -c jipsi-gcj.jar 
de/lohndirekt/print/attribute/ipp/printerdesc/defaults/NumberUpDefault.java:0:
error: cannot find file for class de.lohndirekt.print.attribute.DefaultAttribute


-- 


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


[Bug java/17733] class read for the second time

2004-09-30 Thread aph at gcc dot gnu dot org

--- Additional Comments From aph at gcc dot gnu dot org  2004-09-30 15:42 ---
Um, hold on that class is in the jarfile.  Weird.  I'm investigating.


-- 


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


[Bug java/17733] class read for the second time

2004-09-30 Thread konqueror at gmx dot de

--- Additional Comments From konqueror at gmx dot de  2004-09-30 15:46 ---
You need to unzip the jar in a directory and then try to compile the jar in 
there (the jar, not the class files directly). 

-- 


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


[Bug tree-optimization/17749] [4.0 Regression] ICE with recursive function

2004-09-30 Thread reichelt at gcc dot gnu dot org

--- Additional Comments From reichelt at gcc dot gnu dot org  2004-09-30 15:48 
---
Confirmed. Here's something shorter:

=
int foo(int i)
{
int *p = &i+1;
*p = 0;
return foo(i);
}
=


-- 
   What|Removed |Added

 CC||reichelt at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
   Keywords||monitored
   Last reconfirmed|-00-00 00:00:00 |2004-09-30 15:48:49
   date||
Summary|[4.0 Regression] ICE|[4.0 Regression] ICE with
   ||recursive function


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