summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/083-compiler-regressions/src/Main.java37
1 files changed, 31 insertions, 6 deletions
diff --git a/test/083-compiler-regressions/src/Main.java b/test/083-compiler-regressions/src/Main.java
index a53214105a..3307e50642 100644
--- a/test/083-compiler-regressions/src/Main.java
+++ b/test/083-compiler-regressions/src/Main.java
@@ -61,19 +61,19 @@ public class Main {
static void wideIdentityTest() {
Foo foo = new Foo();
- long i = 1;
+ long i = 0x200000001L;
i += foo.wideIdent0(i);
i += foo.wideIdent1(0,i);
i += foo.wideIdent2(0,0,i);
i += foo.wideIdent3(0,0,0,i);
i += foo.wideIdent4(0,0,0,0,i);
i += foo.wideIdent5(0,0,0,0,0,i);
- if (i == 64) {
+ if (i == 0x8000000040L) {
System.out.println("wideIdentityTest passes");
}
else {
- System.out.println("wideIdentityTest fails: " + i +
- " (expecting 64)");
+ System.out.println("wideIdentityTest fails: 0x" + Long.toHexString(i) +
+ " (expecting 0x8000000040)");
}
}
@@ -90,12 +90,25 @@ public class Main {
foo.wideSetBar4(0,0,0,sum);
sum += foo.wideGetBar5(1,2,3,4,5);
foo.wideSetBar5(0,0,0,0,sum);
- if (foo.wideGetBar0() == 39488) {
+ long result1 = foo.wideGetBar0();
+ long expected1 = 1234L << 5;
+ sum += foo.wideGetBar0();
+ foo.wideSetBar2i(0,sum);
+ sum += foo.wideGetBar0();
+ foo.wideSetBar3i(0,0,sum);
+ sum += foo.wideGetBar0();
+ foo.wideSetBar4i(0,0,0,sum);
+ sum += foo.wideGetBar0();
+ foo.wideSetBar5i(0,0,0,0,sum);
+ long result2 = foo.wideGetBar0();
+ long expected2 = 1234L << 9;
+ if (result1 == expected1 && result2 == expected2) {
System.out.println("wideGetterSetterTest passes");
}
else {
System.out.println("wideGetterSetterTest fails: " +
- foo.wideGetBar0() + " (expecting 39488)");
+ "result1: " + result1 + " (expecting " + expected1 + "), " +
+ "result2: " + result2 + " (expecting " + expected2 + ")");
}
}
@@ -8374,6 +8387,18 @@ class Foo {
public void wideSetBar5(long a1, long a2, long a3, long a4, long a5) {
lbar = a5;
}
+ public void wideSetBar2i(int a1, long a2) {
+ lbar = a2;
+ }
+ public void wideSetBar3i(int a1, int a2, long a3) {
+ lbar = a3;
+ }
+ public void wideSetBar4i(int a1, int a2, int a3, long a4) {
+ lbar = a4;
+ }
+ public void wideSetBar5i(int a1, int a2, int a3, int a4, long a5) {
+ lbar = a5;
+ }
public long wideGetBar0() {
return lbar;
}