[clang] [clang][CUDA] Disable float128 diagnostics for device compilation (PR #83918)

Artem Belevich via cfe-commits cfe-commits at lists.llvm.org
Mon Mar 4 14:38:14 PST 2024


================
@@ -4877,7 +4877,9 @@ void Sema::AddModeAttr(Decl *D, const AttributeCommonInfo &CI,
     NewElemTy = Context.getRealTypeForBitwidth(DestWidth, ExplicitType);
 
   if (NewElemTy.isNull()) {
-    Diag(AttrLoc, diag::err_machine_mode) << 1 /*Unsupported*/ << Name;
+    // Only emit diagnostic on host for 128-bit mode attribute
----------------
Artem-B wrote:

What do you expect to see if __float128 is used from a GPU function.

Can you check on a toy example.

```
__attribute__((device)) __float128 f(__float128 a, float b) {
  __float128 c = b + 1.0;
  return a + c;
}
```

https://github.com/llvm/llvm-project/pull/83918


More information about the cfe-commits mailing list