http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20020
--- Comment #33 from H.J. Lu <hjl.tools at gmail dot com> 2012-08-14 23:43:24 UTC --- We must make sure that --- union S160 { long double a; }; extern union S160 check160 (void); extern void checkx160 (union S160); void test160 (void) { checkx160 (check160 ()); } --- compiles.