[Bug c/64768] [4.8/4.9/5 Regression] internal compiler error: tree check:=?UTF-8?Q?=20expected=20tree=20that=20contains=20=E2=80=98decl=20with=20RTL=E2=80=99=20structure?=,=?UTF-8?Q?=20have=20=E2=80=98field=5Fdecl=E2=80=99=20in=20set=5Fdecl=5Frtl?=, at emit-rtl.c:1274

mpolacek at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sat Jan 24 18:18:00 GMT 2015


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64768

Marek Polacek <mpolacek at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|ice-on-invalid-code         |ice-on-valid-code,
                   |                            |rejects-valid

--- Comment #7 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
(In reply to joseph@codesourcery.com from comment #6)
> On Sat, 24 Jan 2015, mpolacek at gcc dot gnu.org wrote:
> 
> > typedef int A[];
> > struct { int i; A a; } a;
> 
> This is valid code for C99 and above / gnu89 (i.e., it's valid to use a 
> typedef when declaring a flexible array member, whenever flexible array 
> members are accepted).

Yeah, initially I had the invalid testcase as in #c0, only then I discovered
that we ICE even on a valid testcase with a typedef.  Which means there are two
issues: a) we ICE, b) we don't accept a code where a flexible array member is a
typedef.  I'm adjusting the keywords now.



More information about the Gcc-bugs mailing list