hubert.reinterpretcast added inline comments.

================
Comment at: clang/lib/Sema/SemaExpr.cpp:1540
   // Diagnose attempts to convert between __ibm128, __float128 and long double
-  // where such conversions currently can't be handled.
+  // in arithmetic or comparison.
   if (unsupportedTypeConversion(*this, LHSType, RHSType))
----------------
The ternary operator seems to be something other than (straightforward) 
"arithmetic or comparison".


================
Comment at: clang/test/CodeGen/ibm128-cast.c:46
   !b ? w : l; // expected-error {{incompatible operand types ('__ibm128' and 
'long double')}}
 }
 #elif __LONG_DOUBLE_IBM128__
----------------
Should have compound assignment tests for C as well.


================
Comment at: clang/test/CodeGen/ibm128-cast.c:67
+  !b ? w : l; // expected-no-error
 }
 #endif
----------------
Should have compound assignment tests for C as well.


================
Comment at: clang/test/Sema/float128-ld-incompatibility.cpp:13
+long double ld{qf()}; // expected-error {{non-constant-expression cannot be 
narrowed from type '__float128' to 'long double' in initializer list}} 
expected-note {{insert an explicit cast to silence this issue}}
+__float128 q{ldf()}; // expected-no-error
 
----------------
Should also test `__ibm128` cases.


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

Reply via email to