https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69573
--- Comment #18 from Chen Gang <gang.chen.5i5j at gmail dot com> --- (In reply to Martin Sebor from comment #17) > Patch committed in r233564. Sorry for replying late (I am in holiday during these days, and no any x86 environments). Your patch is OK to me. But I guess, providing more details will be helpful for other members: For ia32, gcc includes intel common environments (e.g. linux) and mac environments. Size of long double can be get by "echo | gcc -m32 -dM -E - | grep LONG_DOUBLE", linux is 12, mac is 16. For long double alignment can be get by building the c code: "int alignof_long_double = _Alignof (long double); long double ld = 1;", linux is 4, mac is 16. For most archs, size of long double should be 16, so checking the special case should be OK (check intel common ia32, and remove "{ target { ! { ia32 } } }"). If any other archs report failure, we can add another switch macros just like this patch has done. Thanks.