Commit dc4cb34e by Andrew Pinski Committed by Andrew Pinski

re PR middle-end/11665 (ICE in struct initializer when taking address)

2003-09-07  Andrew Pinski  <pinskia@physics.uc.edu>

        PR middle-end/11665
        * gcc.c-torture/compile/20030907-1.c: New test.
        * g++.dg/init/array11.C: New test.

From-SVN: r71193
parent c5ed395d
2003-09-07 Andrew Pinski <pinskia@physics.uc.edu>
PR middle-end/11665
* gcc.c-torture/compile/20030907-1.c: New test.
* g++.dg/init/array11.C: New test.
2003-09-07 Mark Mitchell <mark@codesourcery.com>
PR c++/11852
......
/* PR 11665
Orgin: jwhite@cse.unl.edu
The problem was in initializer_constant_valid_p,
"for a CONSTRUCTOR, only the last element
of the CONSTRUCTOR was being checked"
(from the email of the patch which fixed this).
This used to ICE because GCC thought gdt_table was a
constant value when it is not. */
int x;
struct gdt
{
unsigned a,b,c,d,e,f;
};
void f()
{
struct gdt gdt_table[2]=
{
{
0,
( (((unsigned)(&x))<<(24))&(-1<<(8)) ),
},
};
}
/* PR 11665
Orgin: jwhite@cse.unl.edu
The problem was in initializer_constant_valid_p,
"for a CONSTRUCTOR, only the last element
of the CONSTRUCTOR was being checked"
(from the email of the patch which fixed this).
This used to ICE because GCC thought gdt_table was a
constant value when it is not. */
int x;
struct gdt
{
unsigned a,b,c,d,e,f;
};
void f()
{
struct gdt gdt_table[2]=
{
{
0,
( (((unsigned)(&x))<<(24))&(-1<<(8)) ),
},
};
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment