From cac960a3ec450377ebeea9a2ea563a545e54f2d6 Mon Sep 17 00:00:00 2001 From: Patrick Palka Date: Tue, 23 Feb 2021 09:40:03 -0500 Subject: [PATCH] c++: Micro-optimize instantiation_dependent_expression_p This makes instantiation_dependent_expression_p avoid calling potential_constant_expression when processing_template_decl isn't set (and hence when value_dependent_expression_p is definitely false). gcc/cp/ChangeLog: * pt.c (instantiation_dependent_expression_p): Check processing_template_decl before calling potential_constant_expression. --- gcc/cp/pt.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index 60de8e9..0393531 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -27519,7 +27519,8 @@ bool instantiation_dependent_expression_p (tree expression) { return (instantiation_dependent_uneval_expression_p (expression) - || (potential_constant_expression (expression) + || (processing_template_decl + && potential_constant_expression (expression) && value_dependent_expression_p (expression))); } -- 2.7.4