aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Merrill <jason@yorick.cygnus.com>1998-07-18 02:26:44 +0000
committerJason Merrill <jason@gcc.gnu.org>1998-07-17 22:26:44 -0400
commit0c64a9cab4d4e776f2e0ba05ead2837ebc55f902 (patch)
treed04d91d44d59712021c27b92fdddecee31324ea4
parentf193b4b996b99f0edb008fb0889f84fed7b4048c (diff)
downloadgcc-0c64a9cab4d4e776f2e0ba05ead2837ebc55f902.zip
gcc-0c64a9cab4d4e776f2e0ba05ead2837ebc55f902.tar.gz
gcc-0c64a9cab4d4e776f2e0ba05ead2837ebc55f902.tar.bz2
decl.c (lookup_name_real): Pull out single function here.
* decl.c (lookup_name_real): Pull out single function here. (select_decl): Not here. (unqualified_namespace_lookup): Use CP_DECL_CONTEXT. From-SVN: r21268
-rw-r--r--gcc/cp/ChangeLog4
-rw-r--r--gcc/cp/decl.c12
2 files changed, 9 insertions, 7 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 6562ef6..5a3699d 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,5 +1,9 @@
1998-07-17 Jason Merrill <jason@yorick.cygnus.com>
+ * decl.c (lookup_name_real): Pull out single function here.
+ (select_decl): Not here.
+ (unqualified_namespace_lookup): Use CP_DECL_CONTEXT.
+
* decl.c (qualify_lookup): Tweak again.
* pt.c (lookup_template_class): Don't mess with the context of the
diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c
index 113f230..913b9ab 100644
--- a/gcc/cp/decl.c
+++ b/gcc/cp/decl.c
@@ -4792,10 +4792,6 @@ select_decl (binding, flags)
&& (!looking_for_template || TREE_CODE (val) != TEMPLATE_DECL))
val = NULL_TREE;
- /* If we have a single function from a using decl, pull it out. */
- if (val && TREE_CODE (val) == OVERLOAD && ! really_overloaded_fn (val))
- val = OVL_FUNCTION (val);
-
return val;
}
@@ -4848,9 +4844,7 @@ unqualified_namespace_lookup (name, flags)
val = select_decl (b, flags);
if (scope == global_namespace)
break;
- scope = DECL_CONTEXT (scope);
- if (scope == NULL_TREE)
- scope = global_namespace;
+ scope = CP_DECL_CONTEXT (scope);
}
return val;
}
@@ -5102,6 +5096,10 @@ lookup_name_real (name, prefer_type, nonclass, namespaces_only)
val = TYPE_MAIN_DECL (IDENTIFIER_TYPE_VALUE (name));
else if (TREE_TYPE (val) == error_mark_node)
val = error_mark_node;
+
+ /* If we have a single function from a using decl, pull it out. */
+ if (TREE_CODE (val) == OVERLOAD && ! really_overloaded_fn (val))
+ val = OVL_FUNCTION (val);
}
else if (from_obj)
val = from_obj;