OSDN Git Service

PR c++/2294
authorbernie <bernie@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 15 Nov 2003 19:34:57 +0000 (19:34 +0000)
committerbernie <bernie@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 15 Nov 2003 19:34:57 +0000 (19:34 +0000)
* name-lookup.c: Revert previous patch for PR c++/2294 to prevent
build failure on libjava.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@73630 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/cp/ChangeLog
gcc/cp/name-lookup.c

index e773b79..eb3b0f0 100644 (file)
@@ -1,3 +1,9 @@
+2003-11-15  Bernardo Innocenti  <bernie@develer.com>
+
+       PR c++/2294
+       * name-lookup.c: Revert previous patch for PR c++/2294 to prevent
+       build failure on libjava.
+
 2003-11-14  Giovanni Bajo  <giovannibajo@libero.it>
 
         PR c++/2294
index bb4b0ac..a31aeeb 100644 (file)
@@ -2002,7 +2002,7 @@ push_overloaded_decl (tree decl, int flags)
        }
     }
 
-  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));
@@ -2012,6 +2012,7 @@ push_overloaded_decl (tree decl, int flags)
        OVL_USED (new_binding) = 1;
     }
   else
+    /* NAME is not ambiguous.  */
     new_binding = decl;
 
   if (doing_global)
@@ -2869,11 +2870,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);