aboutsummaryrefslogtreecommitdiff
path: root/gcc/java/jcf-write.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/java/jcf-write.c')
-rw-r--r--gcc/java/jcf-write.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/java/jcf-write.c b/gcc/java/jcf-write.c
index f2df8c3e276..61ff0fdbf4d 100644
--- a/gcc/java/jcf-write.c
+++ b/gcc/java/jcf-write.c
@@ -845,7 +845,8 @@ push_long_const (lo, hi, state)
RESERVE(1);
OP1(OPCODE_lconst_0 + lo);
}
- else if ((hi == 0 && lo < 32768) || (hi == -1 && lo >= -32768))
+ else if ((hi == 0 && (jword)(lo & 0xFFFFFFFF) < 32768)
+ || (hi == -1 && (jword)(lo & 0xFFFFFFFF) >= -32768))
{
push_int_const (lo, state);
RESERVE (1);