http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53383
Jan Hubicka <hubicka at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |hubicka at gcc dot gnu.org --- Comment #6 from Jan Hubicka <hubicka at gcc dot gnu.org> 2012-05-18 11:54:03 UTC --- The reason why -mpreferred-stack-boundary=3 is not allowed is that the va-args sequences generated are not safe in the case frame is misaligned and values with higher intended alignment are passed. In that case the caller would be required to do dynamic stack alignment. Otherwise the value might end up misaligned on the stack and va-arg sequence will do alignment using & operation resulting in fetching wrong value from memory. Since we have dynamic stack alignment now, we could allow that and explicitely document that as ABI breaking (like we have the double alignment and other kludges on x86) Honza