ppc: testfaelle fuer ppc32 'portiert'
[testub10.git] / gesamt_ppc / intelli_03.call
diff --git a/gesamt_ppc/intelli_03.call b/gesamt_ppc/intelli_03.call
new file mode 100644 (file)
index 0000000..5a280cd
--- /dev/null
@@ -0,0 +1,21 @@
+extern int m(int* ar1, int *ar2);
+
+int z1[] = { 0, 2, 4, 6, 8, 10, 12 };
+int z2[] = { 10, 20, 40, 60, 80, 100, 120 };
+int i;
+
+for(i=0; i < sizeof z1/sizeof z1[0]; i++) {
+       printf("z1[%i]: %d, z2[%i]: %d\n", i, z1[i], i, z2[i]);
+}
+
+int ret = m(&z1[1], &z2[1]);
+printf("ret: %d\n", ret);
+
+for(i=0; i < sizeof z1/sizeof z1[0]; i++) {
+       printf("z1[%i]: %d, z2[%i]: %d\n", i, z1[i], i, z2[i]);
+}
+printf("anmerkung: dieser testfall ist von seiteneffekten gepraegt\n"
+       "es *koennte* passieren, dass der testfall richtig ist obwohl er\n"
+       "fehlschlaegt, da die auswertungsreihenfolge nicht vorgegeben ist\n\n");
+
+RET((ret == -16 || ret == -14) && z1[0] == 0 && z2[0] == 10 && z1[1] == 4 && z1[2] == 6 && z1[3] == 8 && z1[4] == 10 && z1[5] == 10 && z1[6] == 12 && z2[1] == 23 && z2[2] == 43 && z2[3] == 63 && z2[4] == 83 && z2[5] == 100 && z2[6] == 120);