From e0a0c416a0d163a97d35e83e42d4b8a1273acc0e Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Fri, 6 Oct 2000 01:45:47 +0000 Subject: 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 --- gcc/java/jvgenmain.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'gcc/java/jvgenmain.c') diff --git a/gcc/java/jvgenmain.c b/gcc/java/jvgenmain.c index da76c07..6c2670d 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) { -- cgit v1.1