qiucf added a comment. In D109751#3131169 <https://reviews.llvm.org/D109751#3131169>, @nemanjai wrote:
> Please provide a description for this patch which includes justification for > why we want to allow conversion between the two types. > I am of the impression that allowing the two types to coexist in completely > disjoint code should be fine, but I really don't see a compelling reason to > allow conversions between the two types. The motivating case is failure after D92815 <https://reviews.llvm.org/D92815>: `clang compiler-rt/test/builtins/Unit/multc3_test.c -I compiler-rt/lib/builtins/ -mfloat128 -mcpu=power9 -lm` compiler-rt/test/builtins/Unit/multc3_test.c:24:15: error: passing 'long double' to parameter of incompatible type '_Float128' (aka '__float128') Because the piece of code will be expanded to: if ((__builtin_types_compatible_p(__typeof(creall(x)), _Float128) ? __isinff128(creall(x)) : __builtin_isinf_sign(creall(x))) || (__builtin_types_compatible_p(__typeof(cimagl(x)), _Float128) ? __isinff128(cimagl(x)) : __builtin_isinf_sign(cimagl(x)))) return inf; which requires 'long double' (the same semantics to `__ibm128` by default) and '_Float128' are compatible. 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