aboutsummaryrefslogtreecommitdiff
path: root/gcc/java
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2001-12-16 22:53:02 +0000
committerTom Tromey <tromey@gcc.gnu.org>2001-12-16 22:53:02 +0000
commit2c5187c52827b7782b70ed773f57effebaf21b0a (patch)
treea8cf5999e61c77efb260c24ac9bfdd228156e8e8 /gcc/java
parent04942eac9b0d10067418038e746428703d17035c (diff)
downloadgcc-2c5187c52827b7782b70ed773f57effebaf21b0a.zip
gcc-2c5187c52827b7782b70ed773f57effebaf21b0a.tar.gz
gcc-2c5187c52827b7782b70ed773f57effebaf21b0a.tar.bz2
re PR java/5088 (Can't create a java.lang.Object from CNI)
* mangle.c (mangle_method_decl): Never emit `C2' constructor. Fixes PR java/5088. From-SVN: r48083
Diffstat (limited to 'gcc/java')
-rw-r--r--gcc/java/ChangeLog5
-rw-r--r--gcc/java/mangle.c11
2 files changed, 7 insertions, 9 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index 078a2e7..de41901 100644
--- a/gcc/java/ChangeLog
+++ b/gcc/java/ChangeLog
@@ -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,
diff --git a/gcc/java/mangle.c b/gcc/java/mangle.c
index 93d8fe7..d055c9c 100644
--- a/gcc/java/mangle.c
+++ b/gcc/java/mangle.c
@@ -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');