================
@@ -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

Reply via email to