aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libjava/ChangeLog6
-rw-r--r--libjava/verify.cc9
2 files changed, 12 insertions, 3 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index af02f3e..99a69b8 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,9 @@
+2001-11-19 Tom Tromey <tromey@redhat.com>
+
+ * verify.cc (_Jv_BytecodeVerifier::verify_instructions_0)
+ [op_lshl, op_lshr, op_lushr]: Shift argument is an int, not a
+ long.
+
2001-11-18 Tom Tromey <tromey@redhat.com>
* verify.cc (type::to_array): New method.
diff --git a/libjava/verify.cc b/libjava/verify.cc
index 8c290a3..2562d1af 100644
--- a/libjava/verify.cc
+++ b/libjava/verify.cc
@@ -2132,15 +2132,18 @@ private:
case op_lmul:
case op_ldiv:
case op_lrem:
- case op_lshl:
- case op_lshr:
- case op_lushr:
case op_land:
case op_lor:
case op_lxor:
pop_type (long_type);
push_type (pop_type (long_type));
break;
+ case op_lshl:
+ case op_lshr:
+ case op_lushr:
+ pop_type (int_type);
+ push_type (pop_type (long_type));
+ break;
case op_fadd:
case op_fsub:
case op_fmul: