diff options
author | Tom Tromey <tromey@redhat.com> | 2001-12-16 22:53:02 +0000 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 2001-12-16 22:53:02 +0000 |
commit | 2c5187c52827b7782b70ed773f57effebaf21b0a (patch) | |
tree | a8cf5999e61c77efb260c24ac9bfdd228156e8e8 /gcc/java | |
parent | 04942eac9b0d10067418038e746428703d17035c (diff) | |
download | gcc-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/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/java/mangle.c | 11 |
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'); |