From 6b945830ff8df4a37a2f98a7655da96c056a6931 Mon Sep 17 00:00:00 2001 From: Jason Merrill Date: Fri, 17 Jul 1998 17:19:31 +0000 Subject: [PATCH] * decl.c (qualify_lookup): Tweak again. From-SVN: r21266 --- gcc/cp/ChangeLog | 2 ++ gcc/cp/decl.c | 14 ++++++++------ 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 7d5fb71..6562ef6 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,5 +1,7 @@ 1998-07-17 Jason Merrill + * 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 diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index 274e875..113f230 100644 --- a/gcc/cp/decl.c +++ b/gcc/cp/decl.c @@ -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; } -- 2.7.4