* decl.c (qualify_lookup): Tweak again.
authorJason Merrill <jason@yorick.cygnus.com>
Fri, 17 Jul 1998 17:19:31 +0000 (17:19 +0000)
committerJason Merrill <jason@gcc.gnu.org>
Fri, 17 Jul 1998 17:19:31 +0000 (13:19 -0400)
From-SVN: r21266

gcc/cp/ChangeLog
gcc/cp/decl.c

index 7d5fb71f9ae79370a4666541b6aaa95c532c42f8..6562ef6dae0394f29401d567695574f334f29450 100644 (file)
@@ -1,5 +1,7 @@
 1998-07-17  Jason Merrill  <jason@yorick.cygnus.com>
 
+       * decl.c (qualify_lookup): Tweak again.
+
        * pt.c (lookup_template_class): Don't mess with the context of the
        instantiation.
        * decl2.c (current_decl_namespace): Remove special handling for
index 274e875fbeb106cd31faee0902aed078177c061e..113f23038a3a6d44023f21ecfc2ac0548623953d 100644 (file)
@@ -4880,12 +4880,14 @@ qualify_lookup (val, flags)
 {
   if (val == NULL_TREE)
     return val;
-  if (LOOKUP_NAMESPACES_ONLY (flags) && TREE_CODE (val) != NAMESPACE_DECL)
-    return NULL_TREE;
-  if (LOOKUP_TYPES_ONLY (flags) && TREE_CODE (val) != TYPE_DECL
-      && ! ((flags & LOOKUP_TEMPLATES_EXPECTED)
-           && TREE_CODE (val) == TEMPLATE_DECL
-           && DECL_CLASS_TEMPLATE_P (val)))
+  if ((flags & LOOKUP_PREFER_NAMESPACES) && TREE_CODE (val) == NAMESPACE_DECL)
+    return val;
+  if ((flags & LOOKUP_PREFER_TYPES)
+      && (TREE_CODE (val) == TYPE_DECL
+         || ((flags & LOOKUP_TEMPLATES_EXPECTED)
+             && DECL_CLASS_TEMPLATE_P (val))))
+    return val;
+  if (flags & (LOOKUP_PREFER_NAMESPACES | LOOKUP_PREFER_TYPES))
     return NULL_TREE;
   return val;
 }