http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60337
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |ABI, diagnostic Target| |s390x-*-* --- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> --- It's the same on x86 I suppose - the aligned() attribute would have to change the ABI for non-register passing as aligning the argument stack cannot fulfil alignment requirements for more than one argument. IMHO this should be simply diagnosed. I don't see in your testcase where "Also, a parameter that is passed in a register and then copied to the stack is not aligned." happens.