diff options
author | Jason Merrill <jason@redhat.com> | 2003-12-08 18:15:30 -0500 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2003-12-08 18:15:30 -0500 |
commit | 3c28fc742591b42850bd8422a85e73621a6ec5e3 (patch) | |
tree | 8695b2300a9ac19f099cd8b376cdf41864b90b9e /gcc/cp/name-lookup.c | |
parent | 1616b0d5f93a326e8b692f5cc09a097c79e8844f (diff) | |
download | gcc-3c28fc742591b42850bd8422a85e73621a6ec5e3.zip gcc-3c28fc742591b42850bd8422a85e73621a6ec5e3.tar.gz gcc-3c28fc742591b42850bd8422a85e73621a6ec5e3.tar.bz2 |
name-lookup.c, [...]: Revert Giovanni's patch from yesterday.
* name-lookup.c, init.c, except.c: Revert Giovanni's patch from
yesterday.
From-SVN: r74446
Diffstat (limited to 'gcc/cp/name-lookup.c')
-rw-r--r-- | gcc/cp/name-lookup.c | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/gcc/cp/name-lookup.c b/gcc/cp/name-lookup.c index 7446b30..ec8a634 100644 --- a/gcc/cp/name-lookup.c +++ b/gcc/cp/name-lookup.c @@ -2006,11 +2006,7 @@ push_overloaded_decl (tree decl, int flags) } } - /* FIXME: We should build OVERLOADs for all function declarations here. - But right now, there are too many places where the code creates an - artificial declaration and expects the name to be bound exactly - to a FUNCTION_DECL. */ - if (!DECL_ARTIFICIAL (decl)) + if (old || TREE_CODE (decl) == TEMPLATE_DECL) { if (old && TREE_CODE (old) != OVERLOAD) new_binding = ovl_cons (decl, ovl_cons (old, NULL_TREE)); @@ -2020,6 +2016,7 @@ push_overloaded_decl (tree decl, int flags) OVL_USED (new_binding) = 1; } else + /* NAME is not ambiguous. */ new_binding = decl; if (doing_global) @@ -2877,11 +2874,7 @@ set_namespace_binding (tree name, tree scope, tree val) if (scope == NULL_TREE) scope = global_namespace; b = binding_for_name (NAMESPACE_LEVEL (scope), name); - if (!b->value - /* If OVL_CHAIN is NULL, it's the first FUNCTION_DECL for this name, - and we still need to call supplement_binding. */ - || (TREE_CODE (val) == OVERLOAD && OVL_CHAIN (val)) - || val == error_mark_node) + if (!b->value || TREE_CODE (val) == OVERLOAD || val == error_mark_node) b->value = val; else supplement_binding (b, val); |