diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 6a92eeba555..1749cc134c7 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,7 @@ +2012-03-02 Paolo Carlini + + * name-lookup.c (binding_to_template_parms_of_scope_p): Clean up. + 2012-02-29 Jason Merrill PR c++/51930 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