================ @@ -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>; ---------------- cor3ntin wrote:
We are introducing a lot of nodes that are very similar. Did you consider: merging the `SelectExpr` nodes - to the extent we need these, the index is implicit from the expansion order. And these things are always expanded, when they are created, when do we need an index? For the initializer, can we maybe use a template argument, or a super set thereof? I feel a lot of complexity of this PR comes from the very impressive number of new nodes https://github.com/llvm/llvm-project/pull/165195 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
