summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorbothner <bothner@138bc75d-0d04-0410-961f-82ee72b054a4>2001-03-17 20:44:24 +0000
committerbothner <bothner@138bc75d-0d04-0410-961f-82ee72b054a4>2001-03-17 20:44:24 +0000
commit065d6e9f985961312d62de4a0fadf94028c71c28 (patch)
treeb048073d4990117c32349361d5f55435329c5b91 /gcc
parent4dc59628182202d0220ac69c1a077b4231c41c7b (diff)
downloadgcc-065d6e9f985961312d62de4a0fadf94028c71c28.tar.gz
* jcf-write.c (generate_bytecode_insns): Handle emitting iinc
when result is is needed (target is STACK_TARGET). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@40585 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/java/ChangeLog3
-rw-r--r--gcc/java/jcf-write.c2
2 files changed, 5 insertions, 0 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index 298cc4ca514..3b719361958 100644
--- a/gcc/java/ChangeLog
+++ b/gcc/java/ChangeLog
@@ -1,5 +1,8 @@
2001-03-17 Per Bothner <per@bothner.com>
+ * jcf-write.c (generate_bytecode_insns): Handle emitting iinc
+ when result is is needed (target is STACK_TARGET).
+
* parse.h (JDEP_SOLV): Removed.
* parse.y (incomplete_class_list): Removed.
(register_incomplete_type): Use JDEP_TO_RESOLVE instead of JDEP_SOLV.
diff --git a/gcc/java/jcf-write.c b/gcc/java/jcf-write.c
index 5cb4fb368a2..f819d835ad5 100644
--- a/gcc/java/jcf-write.c
+++ b/gcc/java/jcf-write.c
@@ -2009,6 +2009,8 @@ generate_bytecode_insns (exp, target, state)
if (TREE_CODE (rhs) == MINUS_EXPR)
value = -value;
emit_iinc (lhs, value, state);
+ if (target != IGNORE_TARGET)
+ emit_load (lhs, state);
break;
}
}