[multiple changes]
authorAlexandre Petit-Bianco <apbianco@gcc.gnu.org>
Fri, 13 Oct 2000 21:06:45 +0000 (14:06 -0700)
committerAlexandre Petit-Bianco <apbianco@gcc.gnu.org>
Fri, 13 Oct 2000 21:06:45 +0000 (14:06 -0700)
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

gcc/java/ChangeLog
gcc/java/expr.c
gcc/java/java-tree.h
gcc/java/jvgenmain.c
gcc/java/lang.c

index 8976390c1dda937ff826c28ba6c17acc9546e3a4..4d332410ca3816164c6a59a8478c88e755bb03d8 100644 (file)
        * 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
index 6dc5184ad5aeeed345479fa3b84f85f597643258..286fa6a7ba3e5d8b646904a5c2b8c1ca8c37074f 100644 (file)
@@ -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);
index f1f205427fc6d527c085c7dc60d5b9ba318d36ff..146e2e577ffc333732115166f51cac6259f86b86 100644 (file)
@@ -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;
index 6c2670d29ae79a277b84204500de3b66352323f9..a24ea03fcebd3a41f24bc1218e4a49fc89b2347e 100644 (file)
@@ -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");
index 91e8f13dd5f6b1ac43e361ca343589256e32d995..32150b28f2479a3ef0460c230433cd4639f2549f 100644 (file)
@@ -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;