This test causes GCC to ICE in output_constant_pool_2 on powerpc64-linux with -m32. The ICE goes away without the typedef or if the variable is local. The test case is extracted from gcc.dg-struct-layout-1/t001. typedef float Tal1float __attribute__((aligned (1))); struct { Tal1float f; } s; void foo (void) { s.f = 1.0; } When compiled with powerpc64-unknown-linux-gnu from 20041013 mainline: elm3b11% /opt/gcc-nightly/mline/bin/gcc -m32 bug.c bug.c: In function 'foo': bug.c:3: internal compiler error: in output_constant_pool_2, at /varasm.c:3074 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions. GCC for powerpc-eabisim gets the same ICE.
-- Summary: ICE in output_constant_pool_2 for aligned(1) float in struct Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: janis187 at us dot ibm dot com CC: gcc-bugs at gcc dot gnu dot org GCC target triplet: powerpc-*-* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18004