[clang] [Clang][HIP][CUDA] Add `__cluster_dims__` and `__no_cluster__` attribute (PR #156686)

Erich Keane via cfe-commits cfe-commits at lists.llvm.org
Thu Sep 4 06:54:47 PDT 2025


================
@@ -5654,6 +5654,130 @@ static void handleLaunchBoundsAttr(Sema &S, Decl *D, const ParsedAttr &AL) {
                         AL.getNumArgs() > 2 ? AL.getArgAsExpr(2) : nullptr);
 }
 
+static std::pair<Expr *, int>
+makeClusterDimsArgExpr(Sema &S, Expr *E, const CUDAClusterDimsAttr &AL,
+                       const unsigned Idx) {
+  if (S.DiagnoseUnexpandedParameterPack(E))
+    return {nullptr, 0};
+
+  // Accept template arguments for now as they depend on something else.
+  // We'll get to check them when they eventually get instantiated.
+  if (E->isValueDependent())
----------------
erichkeane wrote:

```suggestion
  if (E->isInstantiationDependent())
```
We probably mean this.  We can have expressions  (despite what the standard says) that depend on template arguments that aren't value dependent.

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


More information about the cfe-commits mailing list