http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34311
Iain Sandoe <iains at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |iains at gcc dot gnu.org --- Comment #2 from Iain Sandoe <iains at gcc dot gnu.org> 2011-01-09 16:02:41 UTC --- As I wrote in: http://gcc.gnu.org/ml/gcc-patches/2010-12/msg00804.html (after applying the other fixes along with the m64 implementation) nested-struct5.c (still) fails for the 32 bit implementation. This is because the testcase casts void * pointers to structure pointers -- the compiler thence assumes that those structure pointers are appropriately aligned - and issues vector instructions. However, there is no guarantee in the Darwin m32 ABI that the stacked version of the structs will be appropriately aligned. So, either the testcase is wrong code - or the process for passing structures in the closure needs to be refined (significant re-write, since the structs are currently passed in-place). Anyway, IMO we should either XFAIL this - or declare that the structs should be mem-moved from the (void *) source.