[clang] [Clang] [C++26] Expansion Statements (Part 1: AST) (PR #169680)

via cfe-commits cfe-commits at lists.llvm.org
Mon Dec 1 07:32:19 PST 2025


================
@@ -204,6 +204,13 @@ void CodeGenFunction::EmitStmt(const Stmt *S, ArrayRef<const Attr *> Attrs) {
   case Stmt::CXXForRangeStmtClass:
     EmitCXXForRangeStmt(cast<CXXForRangeStmt>(*S), Attrs);
     break;
+  case Stmt::CXXEnumeratingExpansionStmtPatternClass:
+  case Stmt::CXXIteratingExpansionStmtPatternClass:
+  case Stmt::CXXDestructuringExpansionStmtPatternClass:
+  case Stmt::CXXDependentExpansionStmtPatternClass:
+    llvm_unreachable("unexpanded expansion statements should not be emitted");
+  case Stmt::CXXExpansionStmtInstantiationClass:
+    llvm_unreachable("Todo");
----------------
Sirraide wrote:

That too is replaced later in this stack, so this is just temporary code that won’t ever make it to trunk

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


More information about the cfe-commits mailing list