re PR java/5088 (Can't create a java.lang.Object from CNI)
authorTom Tromey <tromey@redhat.com>
Sun, 16 Dec 2001 22:53:02 +0000 (22:53 +0000)
committerTom Tromey <tromey@gcc.gnu.org>
Sun, 16 Dec 2001 22:53:02 +0000 (22:53 +0000)
* mangle.c (mangle_method_decl): Never emit `C2' constructor.
Fixes PR java/5088.

From-SVN: r48083

gcc/java/ChangeLog
gcc/java/mangle.c

index 078a2e793b8989521f5a252ce9ed1fd376604439..de41901c303cc253f7265e2815a93354326ee4b9 100644 (file)
@@ -1,3 +1,8 @@
+2001-12-16  Tom Tromey  <tromey@redhat.com>
+
+       * mangle.c (mangle_method_decl): Never emit `C2' constructor.
+       Fixes PR java/5088.
+
 2001-12-16  Joseph S. Myers  <jsm28@cam.ac.uk>
 
        * ChangeLog, Make-lang.in, class.c, expr.c, gcj.texi, java-tree.h,
index 93d8fe7647ea0c3d2ec5e0789473990e305f248f..d055c9cc433c9746866258a3f66f87333dc0919b 100644 (file)
@@ -142,20 +142,13 @@ mangle_method_decl (mdecl)
   /* Mangle the name of the type that contains mdecl */
   mangle_record_type (DECL_CONTEXT (mdecl), /* for_pointer = */ 0);
 
-  /* Mangle the function name. There three cases
-       - mdecl is java.lang.Object.Object(), use `C2' for its name
-         (denotes a base object constructor.)
+  /* Mangle the function name.  There are two cases:
        - mdecl is a constructor, use `C1' for its name, (denotes a
          complete object constructor.)
        - mdecl is not a constructor, standard mangling is performed.
      We terminate the mangled function name with a `E'. */
   if (ID_INIT_P (method_name))
-    {
-      if (DECL_CONTEXT (mdecl) == object_type_node)
-       obstack_grow (mangle_obstack, "C2", 2);
-      else
-       obstack_grow (mangle_obstack, "C1", 2);
-    }
+    obstack_grow (mangle_obstack, "C1", 2);
   else
     mangle_member_name (method_name);
   obstack_1grow (mangle_obstack, 'E');