diff options
author | Jason Merrill <jason@yorick.cygnus.com> | 1998-07-18 02:26:44 +0000 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 1998-07-17 22:26:44 -0400 |
commit | 0c64a9cab4d4e776f2e0ba05ead2837ebc55f902 (patch) | |
tree | d04d91d44d59712021c27b92fdddecee31324ea4 | |
parent | f193b4b996b99f0edb008fb0889f84fed7b4048c (diff) | |
download | gcc-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/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/cp/decl.c | 12 |
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; |