This used to not work, let's make sure it stays working.
Signed-off-by: Vegard Nossum <[email protected]>
---
Makefile | 1 +
regression/jvm/ArrayMemberTest.java | 20 ++++++++++++++++++++
regression/run-suite.sh | 1 +
3 files changed, 22 insertions(+), 0 deletions(-)
create mode 100644 regression/jvm/ArrayMemberTest.java
diff --git a/Makefile b/Makefile
index 9c5620e..a63a5a5 100644
--- a/Makefile
+++ b/Makefile
@@ -206,6 +206,7 @@ REGRESSION_TEST_SUITE_CLASSES = \
regression/jato/internal/VM.class \
regression/jvm/TestCase.class \
regression/jvm/ArrayTest.class \
+ regression/jvm/ArrayMemberTest.class \
regression/jvm/BranchTest.class \
regression/jvm/ObjectArrayTest.class \
regression/jvm/ExitStatusIsOneTest.class \
diff --git a/regression/jvm/ArrayMemberTest.java
b/regression/jvm/ArrayMemberTest.java
new file mode 100644
index 0000000..73ea4d1
--- /dev/null
+++ b/regression/jvm/ArrayMemberTest.java
@@ -0,0 +1,20 @@
+package jvm;
+
+/**
+ * This once turned up a bug where the array size check would interfere
+ * with the assignment when the array was a member of an object.
+ *
+ * The bug was discovered by Vegard and fixed by Tomek.
+ */
+public class ArrayMemberTest {
+ public static void main(String[] args) {
+ X x = new X();
+
+ int sum = 0;
+ sum += x.a[0];
+ }
+
+ private static class X {
+ public char[] a = new char[1];
+ }
+}
diff --git a/regression/run-suite.sh b/regression/run-suite.sh
index 916c6bf..b0b564f 100755
--- a/regression/run-suite.sh
+++ b/regression/run-suite.sh
@@ -52,6 +52,7 @@ done
if [ -z "$CLASS_LIST" ]; then
run_java jvm.ArrayTest 0
+ run_java jvm.ArrayMemberTest 0
run_java jvm.BranchTest 0
run_java jvm.ObjectArrayTest 0
run_java jvm.ExitStatusIsZeroTest 0
--
1.6.0.4
------------------------------------------------------------------------------
_______________________________________________
Jatovm-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jatovm-devel