[clang] [HLSL] Implement HLSL intialization list support (PR #123141)

Helena Kotas via cfe-commits cfe-commits at lists.llvm.org
Fri Feb 7 13:07:44 PST 2025


================
@@ -2576,3 +2576,162 @@ void SemaHLSL::processExplicitBindingsOnDecl(VarDecl *VD) {
     }
   }
 }
+
+static bool CastInitializer(Sema &S, ASTContext &Ctx, Expr *E,
+                            llvm::SmallVectorImpl<Expr *> &List,
+                            llvm::SmallVectorImpl<QualType> &DestTypes) {
+  if (List.size() >= DestTypes.size())
+    return false;
+  InitializedEntity Entity =
+      InitializedEntity::InitializeParameter(Ctx, DestTypes[List.size()], false);
+  ExprResult Res =
+      S.PerformCopyInitialization(Entity, E->getBeginLoc(), E);
+  if (Res.isInvalid())
+    return false;
+  Expr *Init = Res.get();
+  List.push_back(Init);
+  return true;
+}
+
+static void BuildIntializerList(Sema &S, ASTContext &Ctx, Expr *E,
----------------
hekota wrote:

```suggestion
static void BuildInitializerList(Sema &S, ASTContext &Ctx, Expr *E,
```

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


More information about the cfe-commits mailing list