gesamt: ein weiterer testfall der die richtige verwaltung der parameter prueft
authorBernhard Urban <lewurm@gmail.com>
Mon, 7 Jun 2010 16:38:03 +0000 (18:38 +0200)
committerBernhard Urban <lewurm@gmail.com>
Mon, 7 Jun 2010 16:38:03 +0000 (18:38 +0200)
gesamt/codeb_abgabe_bi.instr
gesamt/lewurm_08.0 [new file with mode: 0644]
gesamt/lewurm_08.call [new file with mode: 0644]
gesamt/lewurm_08.instr [new file with mode: 0644]

index a7873645902455c63d166fdcaa4b2fe565f6de7d..64bb6b746dceaf12b0ba8c08f310b0426babde44 100644 (file)
@@ -1 +1 @@
-34
+30
diff --git a/gesamt/lewurm_08.0 b/gesamt/lewurm_08.0
new file mode 100644 (file)
index 0000000..b21c2cb
--- /dev/null
@@ -0,0 +1,16 @@
+method fo0(a b c d)
+       var x := g();
+       return a-b-c-d-x;
+end;
+method g()
+       h();
+       return -100;
+end;
+method h()
+       var q := 0;
+       var w := 0;
+       var e := 0;
+       var r := 0;
+       var t := 0;
+       return (q*w)-(e*r)-t;
+end;
diff --git a/gesamt/lewurm_08.call b/gesamt/lewurm_08.call
new file mode 100644 (file)
index 0000000..ec05c4a
--- /dev/null
@@ -0,0 +1,11 @@
+long fo0(long, long, long, long, long);
+#define ARG1 10
+#define ARG2 -10
+#define ARG3 -20
+#define ARG4 -30
+
+#define ERG (ARG1 - ARG2 - ARG3 - ARG4 + 100)
+
+int ret = fo0(0xdead, ARG1, ARG2, ARG3, ARG4);
+printf("ret ist %8i (sollte %8i sein)\n", ret, ERG);
+RET(ret == ERG);
diff --git a/gesamt/lewurm_08.instr b/gesamt/lewurm_08.instr
new file mode 100644 (file)
index 0000000..d88e313
--- /dev/null
@@ -0,0 +1 @@
+81