struct { unsigned long int a;double b[];} size is 4, but is calulated as 8 struct { unsigned short int a[2];unsigned long int b;float c;int * d;unsigned long int e;void * f;unsigned long long int g;double h[];} size is 32, but is calulated as 40
This is why the following tests fail: FAIL: objc.dg-struct-layout-encoding-1/t026_main.m execution test -- Summary: objc_sizeof_type vs zero sized arrays Product: gcc Version: 4.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libobjc AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pinskia at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25464