diff options
author | Tom Tromey <tromey@gcc.gnu.org> | 2000-10-06 01:45:47 +0000 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 2000-10-06 01:45:47 +0000 |
commit | e0a0c416a0d163a97d35e83e42d4b8a1273acc0e (patch) | |
tree | 45363ed5e9154746dc287f74e62b19db6aa11e99 /gcc/java/jvgenmain.c | |
parent | d1a458c4ed50e8fe72bf99057c51df06d5aa3ef4 (diff) | |
download | gcc-e0a0c416a0d163a97d35e83e42d4b8a1273acc0e.tar.gz |
jvspec.c (jvgenmain_spec): Added `-fdollars-in-identifiers'.
* jvspec.c (jvgenmain_spec): Added `-fdollars-in-identifiers'.
* jvgenmain.c (class_mangling_prefix): Removed.
(class_mangling_suffix): New global.
(main): Use it.
* gjavah.c (cxx_keyword_subst): Mangle C++ keywords by appending
`$'.
(print_method_info): Handle overrides for static and final
methods.
(process_file): Generate declaration for class object field.
* class.c (cxx_keywords): New array.
(utf8_cmp): New function.
(cxx_keyword_p): New function.
(layout_class_method): Mangle C++ keywords by appending `$'.
(mangle_field): New function.
(mangle_class_field): Use mangle_field. Mangle class name as
`class$'.
(mangle_static_field): Use mangle_field.
From-SVN: r36738
Diffstat (limited to 'gcc/java/jvgenmain.c')
-rw-r--r-- | gcc/java/jvgenmain.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/gcc/java/jvgenmain.c b/gcc/java/jvgenmain.c index da76c0792fc..6c2670d29ae 100644 --- a/gcc/java/jvgenmain.c +++ b/gcc/java/jvgenmain.c @@ -34,7 +34,7 @@ The Free Software Foundation is independent of Sun Microsystems, Inc. */ const char main_method_prefix[] = "main__"; const char main_method_suffix[] = "Pt6JArray1ZPQ34java4lang6String"; -const char class_mangling_prefix[] = "_CL_"; +const char class_mangling_suffix[] = ".class$"; struct obstack name_obstack; @@ -155,13 +155,12 @@ main (int argc, const char **argv) } fprintf (stream, " 0\n};\n\n"); - fprintf (stream, "extern struct Class %s%s;\n", - class_mangling_prefix, mangled_classname); + fprintf (stream, "extern int class __attribute__ ((alias (\"_%s%s\")));\n", + mangled_classname, class_mangling_suffix); fprintf (stream, "int main (int argc, const char **argv)\n"); fprintf (stream, "{\n"); fprintf (stream, " _Jv_Compiler_Properties = props;\n"); - fprintf (stream, " JvRunMain (&%s%s, argc, argv);\n", - class_mangling_prefix, mangled_classname); + fprintf (stream, " JvRunMain (&class, argc, argv);\n"); fprintf (stream, "}\n"); if (stream != stdout && fclose (stream) != 0) { |