https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99708
--- Comment #7 from Jonathan Wakely <redi at gcc dot gnu.org> --- (In reply to Segher Boessenkool from comment #6) > Yes. And it does not mean the type exist (or is usable), either. Example? > Do we? The types should always exist! Please tell that to our IBM colleagues working on clang. __float128 is not supported for anything less than -mcpu=power9 which means that clang cannot be ABI compatible with GCC when using libstdc++ headers on power8. The current solution is to disable all the work I've done for the IEEE128 transition when compiled with clang. The ABI incompatibility will remain until Clang supports those types properly *and* provides macros to check for the types being supported. It would be nice if GCC and Clang agreed on those macros. > Other targets do not have __ieee128 or __ibm128. But they have other target-specific types and they define __SIZEOF_xxx__ for those types, e.g. __SIZEOF_FLOAT128__. There's a reason I used "xxx" because I'm talking about "non-standard types that aren't available on all targets", where __ieee128 and __ibm128 are examples for powerpc (and are the outliers currently when compared to other targets).