summaryrefslogtreecommitdiff
path: root/gcc/java/jvgenmain.c
diff options
context:
space:
mode:
authorTom Tromey <tromey@gcc.gnu.org>2000-10-06 01:45:47 +0000
committerTom Tromey <tromey@gcc.gnu.org>2000-10-06 01:45:47 +0000
commite0a0c416a0d163a97d35e83e42d4b8a1273acc0e (patch)
tree45363ed5e9154746dc287f74e62b19db6aa11e99 /gcc/java/jvgenmain.c
parentd1a458c4ed50e8fe72bf99057c51df06d5aa3ef4 (diff)
downloadgcc-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.c9
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)
{