Forgot to add new testcases
authorMartin Perner <martin@perner.cc>
Mon, 24 May 2010 12:06:31 +0000 (14:06 +0200)
committerMartin Perner <martin@perner.cc>
Mon, 24 May 2010 12:06:31 +0000 (14:06 +0200)
codeb/codea_skinner33_20.0 [new file with mode: 0644]
codeb/codea_skinner33_20.call [new file with mode: 0644]
codeb/codea_skinner33_20.instr [new file with mode: 0644]
codeb/codea_skinner33_21.0 [new file with mode: 0644]
codeb/codea_skinner33_21.call [new file with mode: 0644]
codeb/codea_skinner33_21.instr [new file with mode: 0644]

diff --git a/codeb/codea_skinner33_20.0 b/codeb/codea_skinner33_20.0
new file mode 100644 (file)
index 0000000..5a8927a
--- /dev/null
@@ -0,0 +1,11 @@
+method f1(a)
+       return this - (a - 0);
+end;
+
+method f2(a)
+       return (this - a) - (0 - a);
+end;
+
+method f3(a)
+       return 5 - (a - 0);
+end;
diff --git a/codeb/codea_skinner33_20.call b/codeb/codea_skinner33_20.call
new file mode 100644 (file)
index 0000000..7f800a6
--- /dev/null
@@ -0,0 +1,5 @@
+long f1(long, long);
+long f2(long, long);
+long f3(long, long);
+
+RET(f1(5,3) == 2 && f2(8,3) == 8 && f3(4,2) == 3);
diff --git a/codeb/codea_skinner33_20.instr b/codeb/codea_skinner33_20.instr
new file mode 100644 (file)
index 0000000..f599e28
--- /dev/null
@@ -0,0 +1 @@
+10
diff --git a/codeb/codea_skinner33_21.0 b/codeb/codea_skinner33_21.0
new file mode 100644 (file)
index 0000000..6078010
--- /dev/null
@@ -0,0 +1,5 @@
+struct a b c end;
+
+method m(x)
+  return ((this-0)-8).c;
+end;
diff --git a/codeb/codea_skinner33_21.call b/codeb/codea_skinner33_21.call
new file mode 100644 (file)
index 0000000..bbbc716
--- /dev/null
@@ -0,0 +1,3 @@
+long s[]={12,23,34,45,53,61};
+extern long m(long *,long);
+RET(m(s,12)==23 && m(s+2,13)==45);
diff --git a/codeb/codea_skinner33_21.instr b/codeb/codea_skinner33_21.instr
new file mode 100644 (file)
index 0000000..45a4fb7
--- /dev/null
@@ -0,0 +1 @@
+8