From: Patrick Palka Date: Tue, 23 Feb 2021 14:40:03 +0000 (-0500) Subject: c++: Micro-optimize instantiation_dependent_expression_p X-Git-Tag: basepoints/gcc-12~913 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=cac960a3ec450377ebeea9a2ea563a545e54f2d6;p=thirdparty%2Fgcc.git 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. --- diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index 60de8e93ff73..03935310ef7a 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))); }