The fix for http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24306 breaks -m64 struct-layout-1.c.
It breaks the abi of every target, which is wrong. On ppc -m64, it results in a self inconsistent abi. This correct fix would be to modify ix86_function_arg_boundary function to give PARM_BOUNDARY for zero sized objects. -- Summary: ppc64 bad stdargs codegen for zero sized objects Product: gcc Version: 4.2.1 Status: UNCONFIRMED Severity: critical Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: mrs at apple dot com GCC target triplet: powerpc-apple-darwin9 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34010