aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorPer Bothner <per@bothner.com>2001-03-17 12:44:24 -0800
committerPer Bothner <bothner@gcc.gnu.org>2001-03-17 12:44:24 -0800
commit478e7ed675bc228adc7ad18cd6e27e45cf408feb (patch)
treeb048073d4990117c32349361d5f55435329c5b91 /gcc
parentdaaaf29f2a50ddf9baa1f2d48d043c30f3092af2 (diff)
downloadgcc-478e7ed675bc228adc7ad18cd6e27e45cf408feb.zip
gcc-478e7ed675bc228adc7ad18cd6e27e45cf408feb.tar.gz
gcc-478e7ed675bc228adc7ad18cd6e27e45cf408feb.tar.bz2
jcf-write.c (generate_bytecode_insns): Handle emitting iinc when result is is needed (target is STACK_TARGET).
* jcf-write.c (generate_bytecode_insns): Handle emitting iinc when result is is needed (target is STACK_TARGET). From-SVN: r40585
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 298cc4c..3b71936 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 5cb4fb3..f819d83 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;
}
}