[clang] [Clang] Treat default template argument as constant expressions (PR #107073)

Younan Zhang via cfe-commits cfe-commits at lists.llvm.org
Tue Sep 3 04:43:34 PDT 2024


================
@@ -960,6 +960,8 @@ Parser::ParseNonTypeTemplateParameter(unsigned Depth, unsigned Position) {
       EnterExpressionEvaluationContext ConstantEvaluated(
           Actions, Sema::ExpressionEvaluationContext::ConstantEvaluated);
       DefaultArg = Actions.CorrectDelayedTyposInExpr(ParseInitializer());
+      if (DefaultArg.isUsable())
+        DefaultArg = Actions.ActOnConstantExpression(DefaultArg);
----------------
zyn0217 wrote:

(I noticed that provision from the comment in that function, but I still want to confirm what the intention is here)
So... this is invalid? This discrepancy could be rather confusing from what i see :(

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


More information about the cfe-commits mailing list