qiucf added a comment. In D109751#3191148 <https://reviews.llvm.org/D109751#3191148>, @hubert.reinterpretcast wrote:
> In D109751#3178494 <https://reviews.llvm.org/D109751#3178494>, @qiucf wrote: > >> Thanks for the reminder. Here GCC and Clang diverges in the handling of >> `__ibm128`/`__float128` and `long double`. Not sure whether GCC will 'fix' >> the behavior, but here (and in most of the use case in glibc headers) it's >> `__builtin_types_compatible_p(..., _Float128)` where GCC/Clang behaves the >> same. > > I thought Clang doesn't have `_Float128` yet; that's D111382 > <https://reviews.llvm.org/D111382>, which makes `_Float128` act like > `__float128` (and, in turn, like `__ieee128`). > > With `-mabi=ieeelongdouble`: > > extern char x[__builtin_types_compatible_p(long double, __float128) ? 1 : > -1]; // GCC accepts; Clang rejects > > https://godbolt.org/z/fGbY1Y1PT I tried making them 'compatible', but that only affects to C (and C++ doesn't have this builtin), `std::is_same<long double, __float128>` still says they're different. Should that be an issue? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D109751/new/ https://reviews.llvm.org/D109751 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits