[gcc r12-7788] c++: tweak PR105006 fix

Jason Merrill jason@gcc.gnu.org
Wed Mar 23 17:17:52 GMT 2022


https://gcc.gnu.org/g:e8cd3edc0fc6c02a732dcecf519c22d835e5f422

commit r12-7788-ge8cd3edc0fc6c02a732dcecf519c22d835e5f422
Author: Jason Merrill <jason@redhat.com>
Date:   Wed Mar 23 12:22:20 2022 -0400

    c++: tweak PR105006 fix
    
    Checking dependent_type_p avoids needing to walk the overloads in cases
    where it would not be possible to find a dependent using.
    
            PR c++/105006
    
    gcc/cp/ChangeLog:
    
            * name-lookup.cc (lookup_using_decl): Check that scope is
            a dependent type before looking for dependent using.

Diff:
---
 gcc/cp/name-lookup.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gcc/cp/name-lookup.cc b/gcc/cp/name-lookup.cc
index ea947fabb7e..3c7b626350f 100644
--- a/gcc/cp/name-lookup.cc
+++ b/gcc/cp/name-lookup.cc
@@ -5667,7 +5667,7 @@ lookup_using_decl (tree scope, name_lookup &lookup)
 
       /* If the lookup in the base contains a dependent using, this
 	 using is also dependent.  */
-      if (!dependent_p && lookup.value)
+      if (!dependent_p && lookup.value && dependent_type_p (scope))
 	{
 	  tree val = lookup.value;
 	  if (tree fns = maybe_get_fns (val))


More information about the Gcc-cvs mailing list