Commit 3c28fc74 by Jason Merrill Committed by Jason Merrill

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
parent 1616b0d5
2003-12-08 Jason Merrill <jason@redhat.com>
* name-lookup.c, init.c, except.c: Revert Giovanni's patch from
yesterday.
Give the anonymous namespace a null DECL_NAME.
* cp-tree.h: Don't declare anonymous_namespace_name.
* decl.c: Don't define it.
......
......@@ -645,11 +645,6 @@ build_throw (tree exp)
tmp = build_function_type (ptr_type_node, tmp);
fn = push_throw_library_fn (fn, tmp);
}
else if (really_overloaded_fn (fn))
{
error ("`%D' should never be overloaded", fn);
return error_mark_node;
}
fn = OVL_CURRENT (fn);
exp = build_function_call (fn, tree_cons (NULL_TREE, exp, NULL_TREE));
}
......
......@@ -2005,18 +2005,11 @@ build_new_1 (tree exp)
tree class_size = size_in_bytes (true_type);
static const char alloc_name[] = "_Jv_AllocObject";
use_java_new = 1;
if (!get_global_value_if_present (get_identifier (alloc_name),
&alloc_decl))
{
error ("call to Java constructor with `%s' undefined", alloc_name);
return error_mark_node;
}
else if (really_overloaded_fn (alloc_decl))
{
error ("`%D' should never be overloaded", alloc_decl);
return error_mark_node;
}
alloc_decl = OVL_CURRENT (alloc_decl);
alloc_decl = IDENTIFIER_GLOBAL_VALUE (get_identifier (alloc_name));
if (alloc_decl == NULL_TREE)
fatal_error ("call to Java constructor with `%s' undefined",
alloc_name);
class_addr = build1 (ADDR_EXPR, jclass_node, class_decl);
alloc_call = (build_function_call
(alloc_decl,
......
......@@ -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);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment