From f35cbc2c3e82656bbbd8a433cbcf47aa623721b3 Mon Sep 17 00:00:00 2001 From: Dan Katz Date: Wed, 12 Feb 2025 15:55:43 -0500 Subject: [PATCH] Fix segfault. --- clang/lib/AST/ExprConstantMeta.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/clang/lib/AST/ExprConstantMeta.cpp b/clang/lib/AST/ExprConstantMeta.cpp index 7133162ac1ed..225d8a7bdc79 100644 --- a/clang/lib/AST/ExprConstantMeta.cpp +++ b/clang/lib/AST/ExprConstantMeta.cpp @@ -2789,6 +2789,10 @@ bool substitute(APValue &Result, ASTContext &C, MetaActions &Meta, if (!Meta.CheckTemplateArgumentList(TDecl, ExpandedTArgs, false, Args[0]->getExprLoc())) return true; + for (const auto &TArg : ExpandedTArgs) + if (TArg.getKind() == TemplateArgument::Expression && + TArg.getAsExpr()->containsErrors()) + return true; if (auto *CTD = dyn_cast(TDecl)) { void *InsertPos;