summaryrefslogtreecommitdiff
path: root/gcc/java
diff options
context:
space:
mode:
authorapbianco <apbianco@138bc75d-0d04-0410-961f-82ee72b054a4>2000-10-13 21:06:45 +0000
committerapbianco <apbianco@138bc75d-0d04-0410-961f-82ee72b054a4>2000-10-13 21:06:45 +0000
commitc03155ca3d52432929093e78d5cd8d7ffe049c52 (patch)
tree7f1bfdb9bfda24be988ebc08cc8f50b3383d3ae9 /gcc/java
parentf4e55e4d4f6f95e335c8e5f86224e6f4ee20d8d9 (diff)
downloadgcc-c03155ca3d52432929093e78d5cd8d7ffe049c52.tar.gz
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) git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@36864 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/java')
-rw-r--r--gcc/java/ChangeLog15
-rw-r--r--gcc/java/expr.c1
-rw-r--r--gcc/java/java-tree.h2
-rw-r--r--gcc/java/jvgenmain.c9
-rw-r--r--gcc/java/lang.c2
5 files changed, 25 insertions, 4 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index 8976390c1dd..4d332410ca3 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 6dc5184ad5a..286fa6a7ba3 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 f1f205427fc..146e2e577ff 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 6c2670d29ae..a24ea03fceb 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 91e8f13dd5f..32150b28f24 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;