I am not sure that the example is valid GCC-extended C, but GCC definitely
should not ICE with "gimplification failed". The example is:
typedef short __attribute__((vector_size (16))) v8hi;
union vx {short f[8]; v8hi v;};
extern void bar1(v8hi);
void
foo5 (v8hi vec, short n)
{
((union vx) vec).f[5] = n;
bar1 (foo.v);
}
This is either ice-on-valid or ice-on-invalid, but something is broken.
--
Summary: Gimplification failed for union cast
Product: gcc
Version: 4.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dje at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org
GCC build triplet: *-*-*
GCC host triplet: *-*-*
GCC target triplet: *-*-*
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23155