rjmccall added inline comments.

================
Comment at: clang/lib/Sema/SemaChecking.cpp:5011
+        !ValType->isFloatingType()) {
+      Diag(ExprRange.getBegin(), 
diag::err_atomic_op_needs_atomic_int_ptr_or_fp)
           << IsC11 << Ptr->getType() << Ptr->getSourceRange();
----------------
yaxunl wrote:
> rjmccall wrote:
> > Does LLVM support atomics on all floating-point types?
> LLVM IR parser requires atomicrmw value operand must have size of power of 2, 
> therefore LLVM does not support atomicrmw on x86_fp80 which has size of 80 
> bytes. LLVM supports atomicrmw on all other floating-point types (bfloat, 
> half, float, double, fp128, ppc_fp128).
Okay.  So this needs to check the underlying FP semantics and disallow atomics 
on unsupported types.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D71726/new/

https://reviews.llvm.org/D71726

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to