https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94609

--- Comment #5 from Iain Buclaw <ibuclaw at gdcproject dot org> ---
The struct is built as a POD type.  As the struct is nested, it should be
considered non-POD, otherwise it gets left up to aggregate_value_p to decide
how to pass it around.

i386 returns true from aggregate_value_p because flag_pcc_struct_return=1.

x86_64 returns true from aggregate_value_p because
targetm.calls.return_in_memory returns true.

x32 returns false from aggregate_value_p because the halved size makes it small
enough to pass around in registers.

Reply via email to