Hi Oliver,

> According to the "Procedure Call Standard for the ARM Architecture", a
> function which returns a struct larger than 4 bytes must pass the return
> value in memory provided by the caller. This is true when using the base
> AAPCS calling convention, and the AAPCS-VFP extension when the callee is
> variadic.

Doesn't the issue go further than that? The PCS says (5.5): "A
variadic function is always marshaled as for the base standard."

Which seems to mean the correct change is basically replacing any
check for "AAPCS_VFP" with "AAPCS_VFP && !isVariadic" (with any
simplifications that might be possible).

Cheers.

Tim.
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to