[clang] [Clang] [C++26] Implement P1306R5 Expansion Statements (PR #165195)
via cfe-commits
cfe-commits at lists.llvm.org
Mon Nov 3 06:33:09 PST 2025
================
@@ -177,6 +185,11 @@ def CoyieldExpr : StmtNode<CoroutineSuspendExpr>;
def ConceptSpecializationExpr : StmtNode<Expr>;
def RequiresExpr : StmtNode<Expr>;
+// C++26 Expansion statement support expressions
+def CXXExpansionInitListExpr : StmtNode<Expr>;
+def CXXExpansionInitListSelectExpr : StmtNode<Expr>;
+def CXXDestructuringExpansionSelectExpr : StmtNode<Expr>;
----------------
Sirraide wrote:
> short of just storing the `CXXExpansionInitListExpr*`/`DecompositionDecl*` as a `void*` and just adding a `bool IsExpansionInitList` member to it
I guess we could make it a `PointerIntPair<PointerUnion<CXXExpansionInitListExpr*, DecompositionDecl*>, 1>?
https://github.com/llvm/llvm-project/pull/165195
More information about the cfe-commits
mailing list