This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c/64768] [4.8/4.9/5 Regression] internal compiler error: tree check: expected tree that contains âdecl with RTLâ structure, have âfield_declâ in set_decl_rtl, at emit-rtl.c:1274
- From: "mpolacek at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sat, 24 Jan 2015 18:17:58 +0000
- Subject: [Bug c/64768] [4.8/4.9/5 Regression] internal compiler error: tree check: expected tree that contains âdecl with RTLâ structure, have âfield_declâ in set_decl_rtl, at emit-rtl.c:1274
- Auto-submitted: auto-generated
- References: <bug-64768-4 at http dot gcc dot gnu dot org/bugzilla/>
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.