diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2019-06-25 20:40:27 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2019-06-25 20:40:27 +0000 |
commit | dcd7eb710bc4b782c298ee30ee0143d788e72c97 (patch) | |
tree | 7c38729141264bf6339c710aaaf852d82c8611b9 /clang/lib/Sema/TreeTransform.h | |
parent | c42a3571786993141800fbaa290e5325815571c6 (diff) | |
download | bcm5719-llvm-dcd7eb710bc4b782c298ee30ee0143d788e72c97.tar.gz bcm5719-llvm-dcd7eb710bc4b782c298ee30ee0143d788e72c97.zip |
Remove redundant expression evaluation context when substituting into a
template argument.
We do need one of these but we don't need two.
llvm-svn: 364347
Diffstat (limited to 'clang/lib/Sema/TreeTransform.h')
-rw-r--r-- | clang/lib/Sema/TreeTransform.h | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/clang/lib/Sema/TreeTransform.h b/clang/lib/Sema/TreeTransform.h index 65f8678d943..953889c6a02 100644 --- a/clang/lib/Sema/TreeTransform.h +++ b/clang/lib/Sema/TreeTransform.h @@ -3945,10 +3945,6 @@ template<typename Derived> bool TreeTransform<Derived>::TransformTemplateArgument( const TemplateArgumentLoc &Input, TemplateArgumentLoc &Output, bool Uneval) { - EnterExpressionEvaluationContext EEEC( - SemaRef, Sema::ExpressionEvaluationContext::ConstantEvaluated, - /*LambdaContextDecl=*/nullptr, /*ExprContext=*/ - Sema::ExpressionEvaluationContextRecord::EK_TemplateArgument); const TemplateArgument &Arg = Input.getArgument(); switch (Arg.getKind()) { case TemplateArgument::Null: @@ -3997,9 +3993,11 @@ bool TreeTransform<Derived>::TransformTemplateArgument( case TemplateArgument::Expression: { // Template argument expressions are constant expressions. EnterExpressionEvaluationContext Unevaluated( - getSema(), Uneval - ? Sema::ExpressionEvaluationContext::Unevaluated - : Sema::ExpressionEvaluationContext::ConstantEvaluated); + getSema(), + Uneval ? Sema::ExpressionEvaluationContext::Unevaluated + : Sema::ExpressionEvaluationContext::ConstantEvaluated, + /*LambdaContextDecl=*/nullptr, /*ExprContext=*/ + Sema::ExpressionEvaluationContextRecord::EK_TemplateArgument); Expr *InputExpr = Input.getSourceExpression(); if (!InputExpr) InputExpr = Input.getArgument().getAsExpr(); |