diff options
author | Alexandre Petit-Bianco <apbianco@gcc.gnu.org> | 2000-10-13 14:06:45 -0700 |
---|---|---|
committer | Alexandre Petit-Bianco <apbianco@gcc.gnu.org> | 2000-10-13 14:06:45 -0700 |
commit | a93eddcf626dd61d53f1ab75b9f0925c2dc2ecf2 (patch) | |
tree | 7f1bfdb9bfda24be988ebc08cc8f50b3383d3ae9 /gcc/java | |
parent | f58e0b0ca76fbedf2a6e60f68b99b94ba75be575 (diff) | |
download | gcc-a93eddcf626dd61d53f1ab75b9f0925c2dc2ecf2.zip gcc-a93eddcf626dd61d53f1ab75b9f0925c2dc2ecf2.tar.gz gcc-a93eddcf626dd61d53f1ab75b9f0925c2dc2ecf2.tar.bz2 |
[multiple changes]
2000-10-11 Rodney Brown <RodneyBrown@mynd.com>
* java-tree.h: Constify current_encoding.
* lang.c: Constify current_encoding.
2000-10-10 Jeff Sturm <jeff.sturm@appnet.com>
* jvgenmain.c (class_mangling_suffix): Omit `.'.
(main): Use `$' when NO_DOLLAR_IN_LABEL is not set, otherwise `.'.
2000-10-10 Alexandre Petit-Bianco <apbianco@cygnus.com>
* expr.c (java_lang_expand_expr): Reinstall 1999-08-14 Anthony's
patch. Fixes gcj/340.
(http://gcc.gnu.org/ml/gcc-patches/2000-10/msg00374.html)
From-SVN: r36864
Diffstat (limited to 'gcc/java')
-rw-r--r-- | gcc/java/ChangeLog | 15 | ||||
-rw-r--r-- | gcc/java/expr.c | 1 | ||||
-rw-r--r-- | gcc/java/java-tree.h | 2 | ||||
-rw-r--r-- | gcc/java/jvgenmain.c | 9 | ||||
-rw-r--r-- | gcc/java/lang.c | 2 |
5 files changed, 25 insertions, 4 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 8976390..4d33241 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -82,6 +82,21 @@ * gjavah.c (add_class_decl): Don't special-case inner classes. (add_namelet): Likewise. +2000-10-11 Rodney Brown <RodneyBrown@mynd.com> + + * java-tree.h: Constify current_encoding. + * lang.c: Constify current_encoding. + +2000-10-10 Jeff Sturm <jeff.sturm@appnet.com> + + * jvgenmain.c (class_mangling_suffix): Omit `.'. + (main): Use `$' when NO_DOLLAR_IN_LABEL is not set, otherwise `.'. + +2000-10-10 Alexandre Petit-Bianco <apbianco@cygnus.com> + + * expr.c (java_lang_expand_expr): Reinstall 1999-08-14 Anthony's + patch. Fixes gcj/340. + 2000-10-10 Tom Tromey <tromey@cygnus.com> * lex.c (java_new_lexer): Initialize out_first and out_last diff --git a/gcc/java/expr.c b/gcc/java/expr.c index 6dc5184..286fa6a 100644 --- a/gcc/java/expr.c +++ b/gcc/java/expr.c @@ -2350,6 +2350,7 @@ java_lang_expand_expr (exp, target, tmode, modifier) DECL_INITIAL (init_decl) = value; DECL_IGNORED_P (init_decl) = 1; TREE_READONLY (init_decl) = 1; + TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (init_decl)) = 1; make_decl_rtl (init_decl, NULL, 1); init = build1 (ADDR_EXPR, TREE_TYPE (exp), init_decl); r = expand_expr (init, target, tmode, modifier); diff --git a/gcc/java/java-tree.h b/gcc/java/java-tree.h index f1f2054..146e2e5 100644 --- a/gcc/java/java-tree.h +++ b/gcc/java/java-tree.h @@ -173,7 +173,7 @@ extern int flag_use_boehm_gc; extern int flag_hash_synchronization; /* Encoding used for source files. */ -extern char *current_encoding; +extern const char *current_encoding; /* The Java .class file that provides main_class; the main input file. */ extern struct JCF *current_jcf; diff --git a/gcc/java/jvgenmain.c b/gcc/java/jvgenmain.c index 6c2670d..a24ea03 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_suffix[] = ".class$"; +const char class_mangling_suffix[] = "class$"; struct obstack name_obstack; @@ -155,8 +155,13 @@ main (int argc, const char **argv) } fprintf (stream, " 0\n};\n\n"); - fprintf (stream, "extern int class __attribute__ ((alias (\"_%s%s\")));\n", +#ifndef NO_DOLLAR_IN_LABEL + fprintf (stream, "extern int class __attribute__ ((alias (\"_%s$%s\")));\n", mangled_classname, class_mangling_suffix); +#else + fprintf (stream, "extern int class __attribute__ ((alias (\"_%s.%s\")));\n", + mangled_classname, class_mangling_suffix); +#endif fprintf (stream, "int main (int argc, const char **argv)\n"); fprintf (stream, "{\n"); fprintf (stream, " _Jv_Compiler_Properties = props;\n"); diff --git a/gcc/java/lang.c b/gcc/java/lang.c index 91e8f13..32150b2 100644 --- a/gcc/java/lang.c +++ b/gcc/java/lang.c @@ -123,7 +123,7 @@ int flag_hash_synchronization; int flag_jni = 0; /* The encoding of the source file. */ -char *current_encoding = NULL; +const char *current_encoding = NULL; /* When non zero, report the now deprecated empty statements. */ int flag_extraneous_semicolon; |