[clang] [Clang][RFC] Intrododuce a builtin to determine the structure binding size (PR #131515)

Erich Keane via cfe-commits cfe-commits at lists.llvm.org
Mon Mar 17 10:30:28 PDT 2025


================
@@ -1873,19 +1874,54 @@ TypeTraitExpr::TypeTraitExpr(QualType T, SourceLocation Loc, TypeTrait Kind,
   setDependence(computeDependence(this));
 }
 
+TypeTraitExpr::TypeTraitExpr(QualType T, SourceLocation Loc, TypeTrait Kind,
+                             ArrayRef<TypeSourceInfo *> Args,
+                             SourceLocation RParenLoc, APValue Value)
+    : Expr(TypeTraitExprClass, T, VK_PRValue, OK_Ordinary), Loc(Loc),
+      RParenLoc(RParenLoc) {
+  assert(Kind <= TT_Last && "invalid enum value!");
----------------
erichkeane wrote:

Seems like this is ripe for a `init` function, and just set the values/IsBooleanTypeTrait in these.  They are otherwise copy/paste, right?

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


More information about the cfe-commits mailing list