On Wed, 7 Sep 2016, Bernd Edlinger wrote: > interesting. I just tried the test case from PR 77330 with _Decimal128. > result: _Decimal128 did *not* trap with gcc4.8.4, but it does trap with > gcc-7.0.0.
I checked with GCC 4.3; __alignof__ (_Decimal128) was 16 back then. Whether particular code happens to make use of that alignment requirement is inherently unpredictable. > So it looks to me, the ABI has changed incompatible recently, and I No, it's been the same since _Decimal128 was added in GCC 4.3 (__float128 was first supported for 32-bit x86 in 4.4, and also had alignment 16 back then). > I think that we need more flexibility in that area than we have > right now, because config/i386/i386.h is doing the ABI, > but it is shared by linux/glibc, windows, vxworks, darwin, > solaris, to name a few. I can't believe that we can just > change that ABI for the whole world at the same time. If the system compilers don't support these types, effectively we can. If the system compilers do support these types (and don't follow HJ's ABI document which says they are 16-byte-aligned), it's up to the target OS maintainers to make sure we stay compatible with them. -- Joseph S. Myers jos...@codesourcery.com