diff options
Diffstat (limited to 'gcc/cp/name-lookup.c')
-rw-r--r-- | gcc/cp/name-lookup.c | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/gcc/cp/name-lookup.c b/gcc/cp/name-lookup.c index 235134249ac..e85d603d22f 100644 --- a/gcc/cp/name-lookup.c +++ b/gcc/cp/name-lookup.c @@ -4467,20 +4467,17 @@ binding_to_template_parms_of_scope_p (cxx_binding *binding, cp_binding_level *scope) { tree binding_value; + tree tinfo; - if (!binding || !scope) + if (!binding || !scope || !scope->this_entity) return false; binding_value = binding->value ? binding->value : binding->type; + tinfo = get_template_info (scope->this_entity); - return (scope - && scope->this_entity - && get_template_info (scope->this_entity) - && PRIMARY_TEMPLATE_P (TI_TEMPLATE - (get_template_info (scope->this_entity))) - && parameter_of_template_p (binding_value, - TI_TEMPLATE (get_template_info \ - (scope->this_entity)))); + return (tinfo + && PRIMARY_TEMPLATE_P (TI_TEMPLATE (tinfo)) + && parameter_of_template_p (binding_value, TI_TEMPLATE (tinfo))); } /* Return the innermost non-namespace binding for NAME from a scope |