aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorPer Bothner <bothner@cygnus.com>1998-11-24 13:16:53 +0000
committerPer Bothner <bothner@gcc.gnu.org>1998-11-24 05:16:53 -0800
commit818347b4d66fa9f9af05751b5880f54830cc4c2e (patch)
treec6ca5991b1e589d6e192830bf9412d119216797f /gcc
parent6466fce8c91171b28704ae14756b56e07153de86 (diff)
downloadgcc-818347b4d66fa9f9af05751b5880f54830cc4c2e.zip
gcc-818347b4d66fa9f9af05751b5880f54830cc4c2e.tar.gz
gcc-818347b4d66fa9f9af05751b5880f54830cc4c2e.tar.bz2
expr.c (java_lang_expand_expr): Add missing emit_queue.
� * expr.c (java_lang_expand_expr): Add missing emit_queue. * javaop.h (int8): Removed - not used. (jbyte): Redefine portably with correct signedness. From-SVN: r23832
Diffstat (limited to 'gcc')
-rw-r--r--gcc/java/ChangeLog16
-rw-r--r--gcc/java/expr.c1
-rw-r--r--gcc/java/javaop.h7
3 files changed, 22 insertions, 2 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index 4a9a7e0..5e039df 100644
--- a/gcc/java/ChangeLog
+++ b/gcc/java/ChangeLog
@@ -1,3 +1,19 @@
+Tue Nov 24 12:57:13 1998 Per Bothner <bothner@cygnus.com>
+
+ * expr.c (java_lang_expand_expr): Add missing emit_queue.
+
+ * javaop.h (int8): Removed - not used.
+ (jbyte): Redefine portably with correct signedness.
+
+ * jcf-write.c (generate_bytecode_insns): Don't free sw_state.cases.
+
+ * jcf-write.c (generate_bytecode_insns): Fix typo
+ OPCODE_getstatic to OPCODE_getfield.
+
+ * java-tree.def (CASE_EXPR, DEFAULT_EXPR): Kind is 'x', not '1'.
+ * parse.y (java_complete_tree): For CASE_EXPR and DEFAULT_EXPR,
+ set TREE_SIDE_EFFECTS (otherwise expand_expr may skip them).
+
Thu Nov 19 11:16:55 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
* jcf-parse.c (jcf_parse_source): Function returned type is
diff --git a/gcc/java/expr.c b/gcc/java/expr.c
index fd81d2c..5631656 100644
--- a/gcc/java/expr.c
+++ b/gcc/java/expr.c
@@ -1750,6 +1750,7 @@ java_lang_expand_expr (exp, target, tmode, modifier)
while (TREE_CODE (body) == COMPOUND_EXPR)
{
expand_expr (TREE_OPERAND (body, 0), const0_rtx, VOIDmode, 0);
+ emit_queue ();
body = TREE_OPERAND (body, 1);
}
to_return = expand_expr (body, target, tmode, modifier);
diff --git a/gcc/java/javaop.h b/gcc/java/javaop.h
index f4ae050..b00fd0a 100644
--- a/gcc/java/javaop.h
+++ b/gcc/java/javaop.h
@@ -26,7 +26,6 @@ The Free Software Foundation is independent of Sun Microsystems, Inc. */
#ifndef JAVAOP_H
#define JAVAOP_H
-typedef char int8;
typedef unsigned char uint8;
#ifndef int16
#define int16 short
@@ -48,7 +47,11 @@ typedef unsigned int32 uint32;
#endif
typedef uint16 jchar;
-typedef int8 jbyte;
+#ifdef __STDC__
+typedef signed char jbyte;
+#else
+typedef char jbyte;
+#endif
typedef int16 jshort;
typedef int32 jint;
typedef int64 jlong;