-extern long long f(long long*, long long*, long long);
-extern long long g(long long*, long long*);
+extern int f(int*, int*, int);
+extern int g(int*, int*);
-long long ar[10];
-long long ar2[10];
+int ar[10];
+int ar2[10];
int i = 1;
for(; i <= 10; i++)
ar[i-1] = i;
-extern long long f(long long*);
+extern int f(int*);
-long long ar[10];
+int ar[10];
int i = 1;
for(; i <= 10; i++)
ar[i-1] = i;
struct x y z end;
method f(a)
- return (a - (-3*8)).y;
+ return (a - (-3*4)).y;
end;
-extern long long f(long long*, long long*);
+extern int f(int*, int*);
-long long ar[10];
+int ar[10];
int i = 1;
for(; i <= 10; i++)
ar[i-1] = i;
-extern long long f(long long*, long long*);
+extern int f(int*, int*);
-long long ar[10];
+int ar[10];
int i = 1;
for(; i <= 10; i++)
ar[i-1] = i;
long z(long);
long override(long);
+printf("w(20,30)(1): %d\n", w(20,30));
+printf("w(30,20)(0): %d\n", w(30,20));
+printf("x(400)(0): %d\n", x(400));
+printf("y(400)(1): %d\n", y(400));
+printf("z(400)(0): %d\n", z(400));
+printf("override(0x1)(0x55555): %x\n", override(0x1));
RET(w(20,30)==1 && override(0x1)==0x55555 && w(30,20)==0 && override(1)==0x55555 && x(400)==0 && override(0x1)==0x55555 && y(400)==1 && override(0x1)==0x55555 && z(400)==0 && override(0x1)==0x55555);
end;
method y()
- return (this-8).k;
+ return (this-4).k;
end;
addr[2] = 1337;
+printf("t: %d\n", t);
switch (t) {
case 0: RET(try0(0xcafebabe) == 1337);
case 1: RET(try1(0xcafebabe) == 1337);
end;
method f(a)
- return (a - (-8 * 4) ).v;
+ return (a - (-4 * 4) ).v;
end;
f(0, 10, -20, 30, -40) == F( 10, -20, 30, -40) &&
f(0, -10, -20, -30, -40) == F(-10, -20, -30, -40) &&
- f1(0, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) ==
- F1(0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) &&
- f2(0, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) ==
- F2(0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) &&
- f4(0, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) ==
- F4(0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) &&
- f8(0, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) ==
- F8(0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) &&
-
- f1(0, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) ==
- F1(0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) &&
- f2(0, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) ==
- F2(0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) &&
- f4(0, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) ==
- F4(0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) &&
- f8(0, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) ==
- F8(0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL));
+ f1(0, 0x7FFFFFFFUL, 0x7FFFFFFFUL) ==
+ F1(0x7FFFFFFFUL, 0x7FFFFFFFUL) &&
+ f2(0, 0x7FFFFFFFUL, 0x7FFFFFFFUL) ==
+ F2(0x7FFFFFFFUL, 0x7FFFFFFFUL) &&
+ f4(0, 0x7FFFFFFFUL, 0x7FFFFFFFUL) ==
+ F4(0x7FFFFFFFUL, 0x7FFFFFFFUL) &&
+ f8(0, 0x7FFFFFFFUL, 0x7FFFFFFFUL) ==
+ F8(0x7FFFFFFFUL, 0x7FFFFFFFUL) &&
+
+ f1(0, 0x8FFFFFFFUL, 0x8FFFFFFFUL) ==
+ F1(0x8FFFFFFFUL, 0x8FFFFFFFUL) &&
+ f2(0, 0x8FFFFFFFUL, 0x8FFFFFFFUL) ==
+ F2(0x8FFFFFFFUL, 0x8FFFFFFFUL) &&
+ f4(0, 0x8FFFFFFFUL, 0x8FFFFFFFUL) ==
+ F4(0x8FFFFFFFUL, 0x8FFFFFFFUL) &&
+ f8(0, 0x8FFFFFFFUL, 0x8FFFFFFFUL) ==
+ F8(0x8FFFFFFFUL, 0x8FFFFFFFUL));
f(0, 10, -20, 30, -40) == F( 10, -20, 30, -40) &&
f(0, -10, -20, -30, -40) == F(-10, -20, -30, -40) &&
- f1(0, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) ==
- F1(0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) &&
- f2(0, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) ==
- F2(0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) &&
- f4(0, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) ==
- F4(0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) &&
- f8(0, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) ==
- F8(0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) &&
-
- f1(0, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) ==
- F1(0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) &&
- f2(0, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) ==
- F2(0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) &&
- f4(0, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) ==
- F4(0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) &&
- f8(0, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) ==
- F8(0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL));
+ f1(0, 0x7FFFFFFFUL, 0x7FFFFFFFUL) ==
+ F1(0x7FFFFFFFUL, 0x7FFFFFFFUL) &&
+ f2(0, 0x7FFFFFFFUL, 0x7FFFFFFFUL) ==
+ F2(0x7FFFFFFFUL, 0x7FFFFFFFUL) &&
+ f4(0, 0x7FFFFFFFUL, 0x7FFFFFFFUL) ==
+ F4(0x7FFFFFFFUL, 0x7FFFFFFFUL) &&
+ f8(0, 0x7FFFFFFFUL, 0x7FFFFFFFUL) ==
+ F8(0x7FFFFFFFUL, 0x7FFFFFFFUL) &&
+
+ f1(0, 0x8FFFFFFFUL, 0x8FFFFFFFUL) ==
+ F1(0x8FFFFFFFUL, 0x8FFFFFFFUL) &&
+ f2(0, 0x8FFFFFFFUL, 0x8FFFFFFFUL) ==
+ F2(0x8FFFFFFFUL, 0x8FFFFFFFUL) &&
+ f4(0, 0x8FFFFFFFUL, 0x8FFFFFFFUL) ==
+ F4(0x8FFFFFFFUL, 0x8FFFFFFFUL) &&
+ f8(0, 0x8FFFFFFFUL, 0x8FFFFFFFUL) ==
+ F8(0x8FFFFFFFUL, 0x8FFFFFFFUL));
f(0, 10, -20, 30, -40) == F( 10, -20, 30, -40) &&
f(0, -10, -20, -30, -40) == F(-10, -20, -30, -40) &&
- f1(0, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) ==
- F1(0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) &&
- f2(0, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) ==
- F2(0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) &&
- f3(0, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) ==
- F3(0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) &&
-
- f1(0, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) ==
- F1(0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) &&
- f2(0, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) ==
- F2(0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) &&
- f3(0, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) ==
- F3(0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL)
+ f1(0, 0x7FFFFFFFUL, 0x7FFFFFFFUL) ==
+ F1(0x7FFFFFFFUL, 0x7FFFFFFFUL) &&
+ f2(0, 0x7FFFFFFFUL, 0x7FFFFFFFUL) ==
+ F2(0x7FFFFFFFUL, 0x7FFFFFFFUL) &&
+ f3(0, 0x7FFFFFFFUL, 0x7FFFFFFFUL) ==
+ F3(0x7FFFFFFFUL, 0x7FFFFFFFUL) &&
+
+ f1(0, 0x8FFFFFFFUL, 0x8FFFFFFFUL) ==
+ F1(0x8FFFFFFFUL, 0x8FFFFFFFUL) &&
+ f2(0, 0x8FFFFFFFUL, 0x8FFFFFFFUL) ==
+ F2(0x8FFFFFFFUL, 0x8FFFFFFFUL) &&
+ f3(0, 0x8FFFFFFFUL, 0x8FFFFFFFUL) ==
+ F3(0x8FFFFFFFUL, 0x8FFFFFFFUL)
);
f3(0, 50, -9) == F3( 50, -9) &&
f3(0, -77, -50) == F3( -77, -50) &&
- f1(0, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) ==
- F1(0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) &&
- f2(0, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) ==
- F2(0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) &&
- f3(0, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) ==
- F3(0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) &&
-
- f1(0, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) ==
- F1(0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) &&
- f2(0, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) ==
- F2(0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) &&
- f3(0, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) ==
- F3(0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL)
+ f1(0, 0x7FFFFFFFUL, 0x7FFFFFFFUL) ==
+ F1(0x7FFFFFFFUL, 0x7FFFFFFFUL) &&
+ f2(0, 0x7FFFFFFFUL, 0x7FFFFFFFUL) ==
+ F2(0x7FFFFFFFUL, 0x7FFFFFFFUL) &&
+ f3(0, 0x7FFFFFFFUL, 0x7FFFFFFFUL) ==
+ F3(0x7FFFFFFFUL, 0x7FFFFFFFUL) &&
+
+ f1(0, 0x8FFFFFFFUL, 0x8FFFFFFFUL) ==
+ F1(0x8FFFFFFFUL, 0x8FFFFFFFUL) &&
+ f2(0, 0x8FFFFFFFUL, 0x8FFFFFFFUL) ==
+ F2(0x8FFFFFFFUL, 0x8FFFFFFFUL) &&
+ f3(0, 0x8FFFFFFFUL, 0x8FFFFFFFUL) ==
+ F3(0x8FFFFFFFUL, 0x8FFFFFFFUL)
);
f(0, 10, -20, 30, -40) == F( 10, -20, 30, -40) &&
f(0, -10, -20, -30, -40) == F(-10, -20, -30, -40) &&
- f1(0, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) ==
- F1(0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) &&
- f2(0, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) ==
- F2(0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) &&
- f3(0, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) ==
- F3(0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) &&
-
- f1(0, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) ==
- F1(0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) &&
- f2(0, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) ==
- F2(0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) &&
- f3(0, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) ==
- F3(0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL)
+ f1(0, 0x7FFFFFFFUL, 0x7FFFFFFFUL) ==
+ F1(0x7FFFFFFFUL, 0x7FFFFFFFUL) &&
+ f2(0, 0x7FFFFFFFUL, 0x7FFFFFFFUL) ==
+ F2(0x7FFFFFFFUL, 0x7FFFFFFFUL) &&
+ f3(0, 0x7FFFFFFFUL, 0x7FFFFFFFUL) ==
+ F3(0x7FFFFFFFUL, 0x7FFFFFFFUL) &&
+
+ f1(0, 0x8FFFFFFFUL, 0x8FFFFFFFUL) ==
+ F1(0x8FFFFFFFUL, 0x8FFFFFFFUL) &&
+ f2(0, 0x8FFFFFFFUL, 0x8FFFFFFFUL) ==
+ F2(0x8FFFFFFFUL, 0x8FFFFFFFUL) &&
+ f3(0, 0x8FFFFFFFUL, 0x8FFFFFFFUL) ==
+ F3(0x8FFFFFFFUL, 0x8FFFFFFFUL)
);
f2(0, 50, -9, -5) == F2( 50, -9, -5) &&
f2(0, -77, -50, 87) == F2( -77, -50, 87) &&
- f1(0, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) ==
- F1(0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) &&
- f2(0, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) ==
- F2(0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) &&
+ f1(0, 0x7FFFFFFFUL, 0x7FFFFFFFUL, 0x7FFFFFFFUL) ==
+ F1(0x7FFFFFFFUL, 0x7FFFFFFFUL, 0x7FFFFFFFUL) &&
+ f2(0, 0x7FFFFFFFUL, 0x7FFFFFFFUL, 0x7FFFFFFFUL) ==
+ F2(0x7FFFFFFFUL, 0x7FFFFFFFUL, 0x7FFFFFFFUL) &&
- f1(0, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) ==
- F1(0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) &&
- f2(0, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) ==
- F2(0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL)
+ f1(0, 0x8FFFFFFFUL, 0x8FFFFFFFUL, 0x8FFFFFFFUL) ==
+ F1(0x8FFFFFFFUL, 0x8FFFFFFFUL, 0x8FFFFFFFUL) &&
+ f2(0, 0x8FFFFFFFUL, 0x8FFFFFFFUL, 0x8FFFFFFFUL) ==
+ F2(0x8FFFFFFFUL, 0x8FFFFFFFUL, 0x8FFFFFFFUL)
);
f2(0, 50, -9, -5) == F2( 50, -9, -5) &&
f2(0, -77, -50, 87) == F2( -77, -50, 87) &&
- f1(0, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) ==
- F1(0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) &&
- f2(0, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) ==
- F2(0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) &&
+ f1(0, 0x7FFFFFFFUL, 0x7FFFFFFFUL, 0x7FFFFFFFUL) ==
+ F1(0x7FFFFFFFUL, 0x7FFFFFFFUL, 0x7FFFFFFFUL) &&
+ f2(0, 0x7FFFFFFFUL, 0x7FFFFFFFUL, 0x7FFFFFFFUL) ==
+ F2(0x7FFFFFFFUL, 0x7FFFFFFFUL, 0x7FFFFFFFUL) &&
- f1(0, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) ==
- F1(0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) &&
- f2(0, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) ==
- F2(0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL)
+ f1(0, 0x8FFFFFFFUL, 0x8FFFFFFFUL, 0x8FFFFFFFUL) ==
+ F1(0x8FFFFFFFUL, 0x8FFFFFFFUL, 0x8FFFFFFFUL) &&
+ f2(0, 0x8FFFFFFFUL, 0x8FFFFFFFUL, 0x8FFFFFFFUL) ==
+ F2(0x8FFFFFFFUL, 0x8FFFFFFFUL, 0x8FFFFFFFUL)
);
f2(0, 50, -9, -5) == F2( 50, -9, -5) &&
f2(0, -77, -50, 87) == F2( -77, -50, 87) &&
- f1(0, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) ==
- F1(0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) &&
- f2(0, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) ==
- F2(0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) &&
+ f1(0, 0x7FFFFFFFUL, 0x7FFFFFFFUL, 0x7FFFFFFFUL) ==
+ F1(0x7FFFFFFFUL, 0x7FFFFFFFUL, 0x7FFFFFFFUL) &&
+ f2(0, 0x7FFFFFFFUL, 0x7FFFFFFFUL, 0x7FFFFFFFUL) ==
+ F2(0x7FFFFFFFUL, 0x7FFFFFFFUL, 0x7FFFFFFFUL) &&
- f1(0, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) ==
- F1(0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) &&
- f2(0, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) ==
- F2(0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL)
+ f1(0, 0x8FFFFFFFUL, 0x8FFFFFFFUL, 0x8FFFFFFFUL) ==
+ F1(0x8FFFFFFFUL, 0x8FFFFFFFUL, 0x8FFFFFFFUL) &&
+ f2(0, 0x8FFFFFFFUL, 0x8FFFFFFFUL, 0x8FFFFFFFUL) ==
+ F2(0x8FFFFFFFUL, 0x8FFFFFFFUL, 0x8FFFFFFFUL)
);
f2(0, 50, -9, -5) == F2( 50, -9, -5) &&
f2(0, -77, -50, 87) == F2( -77, -50, 87) &&
- f1(0, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) ==
- F1(0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) &&
- f2(0, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) ==
- F2(0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) &&
+ f1(0, 0x7FFFFFFFUL, 0x7FFFFFFFUL, 0x7FFFFFFFUL) ==
+ F1(0x7FFFFFFFUL, 0x7FFFFFFFUL, 0x7FFFFFFFUL) &&
+ f2(0, 0x7FFFFFFFUL, 0x7FFFFFFFUL, 0x7FFFFFFFUL) ==
+ F2(0x7FFFFFFFUL, 0x7FFFFFFFUL, 0x7FFFFFFFUL) &&
- f1(0, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) ==
- F1(0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) &&
- f2(0, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) ==
- F2(0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL)
+ f1(0, 0x8FFFFFFFUL, 0x8FFFFFFFUL, 0x8FFFFFFFUL) ==
+ F1(0x8FFFFFFFUL, 0x8FFFFFFFUL, 0x8FFFFFFFUL) &&
+ f2(0, 0x8FFFFFFFUL, 0x8FFFFFFFUL, 0x8FFFFFFFUL) ==
+ F2(0x8FFFFFFFUL, 0x8FFFFFFFUL, 0x8FFFFFFFUL)
);
f2(0, 50, -9) == F2( 50, -9) &&
f2(0, -77, -50) == F2( -77, -50) &&
- f1(0, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) ==
- F1(0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) &&
- f2(0, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) ==
- F2(0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) &&
+ f1(0, 0x7FFFFFFFUL, 0x7FFFFFFFUL) ==
+ F1(0x7FFFFFFFUL, 0x7FFFFFFFUL) &&
+ f2(0, 0x7FFFFFFFUL, 0x7FFFFFFFUL) ==
+ F2(0x7FFFFFFFUL, 0x7FFFFFFFUL) &&
- f1(0, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) ==
- F1(0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) &&
- f2(0, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) ==
- F2(0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL)
+ f1(0, 0x8FFFFFFFUL, 0x8FFFFFFFUL) ==
+ F1(0x8FFFFFFFUL, 0x8FFFFFFFUL) &&
+ f2(0, 0x8FFFFFFFUL, 0x8FFFFFFFUL) ==
+ F2(0x8FFFFFFFUL, 0x8FFFFFFFUL)
);
f2(0, 50, -9) == F2( 50, -9) &&
f2(0, -77, -50) == F2( -77, -50) &&
- f1(0, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) ==
- F1(0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) &&
- f2(0, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) ==
- F2(0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) &&
+ f1(0, 0x7FFFFFFFUL, 0x7FFFFFFFUL) ==
+ F1(0x7FFFFFFFUL, 0x7FFFFFFFUL) &&
+ f2(0, 0x7FFFFFFFUL, 0x7FFFFFFFUL) ==
+ F2(0x7FFFFFFFUL, 0x7FFFFFFFUL) &&
- f1(0, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) ==
- F1(0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) &&
- f2(0, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) ==
- F2(0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL)
+ f1(0, 0x8FFFFFFFUL, 0x8FFFFFFFUL) ==
+ F1(0x8FFFFFFFUL, 0x8FFFFFFFUL) &&
+ f2(0, 0x8FFFFFFFUL, 0x8FFFFFFFUL) ==
+ F2(0x8FFFFFFFUL, 0x8FFFFFFFUL)
);
f2(0, 50, -9) == F2( 50, -9) &&
f2(0, -77, -50) == F2( -77, -50) &&
- f1(0, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) ==
- F1(0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) &&
- f2(0, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) ==
- F2(0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) &&
+ f1(0, 0x7FFFFFFFUL, 0x7FFFFFFFUL) ==
+ F1(0x7FFFFFFFUL, 0x7FFFFFFFUL) &&
+ f2(0, 0x7FFFFFFFUL, 0x7FFFFFFFUL) ==
+ F2(0x7FFFFFFFUL, 0x7FFFFFFFUL) &&
- f1(0, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) ==
- F1(0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) &&
- f2(0, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) ==
- F2(0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL)
+ f1(0, 0x8FFFFFFFUL, 0x8FFFFFFFUL) ==
+ F1(0x8FFFFFFFUL, 0x8FFFFFFFUL) &&
+ f2(0, 0x8FFFFFFFUL, 0x8FFFFFFFUL) ==
+ F2(0x8FFFFFFFUL, 0x8FFFFFFFUL)
);
f2(0, 50, -9) == F2( 50, -9) &&
f2(0, -77, -50) == F2( -77, -50) &&
- f1(0, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) ==
- F1(0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) &&
- f2(0, 0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) ==
- F2(0x7FFFFFFFFFFFFFFFUL, 0x7FFFFFFFFFFFFFFFUL) &&
+ f1(0, 0x7FFFFFFFUL, 0x7FFFFFFFUL) ==
+ F1(0x7FFFFFFFUL, 0x7FFFFFFFUL) &&
+ f2(0, 0x7FFFFFFFUL, 0x7FFFFFFFUL) ==
+ F2(0x7FFFFFFFUL, 0x7FFFFFFFUL) &&
- f1(0, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) ==
- F1(0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) &&
- f2(0, 0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL) ==
- F2(0x8FFFFFFFFFFFFFFFUL, 0x8FFFFFFFFFFFFFFFUL)
+ f1(0, 0x8FFFFFFFUL, 0x8FFFFFFFUL) ==
+ F1(0x8FFFFFFFUL, 0x8FFFFFFFUL) &&
+ f2(0, 0x8FFFFFFFUL, 0x8FFFFFFFUL) ==
+ F2(0x8FFFFFFFUL, 0x8FFFFFFFUL)
);
struct a b c end;
method m(x)
- return ((this-0)-8).c;
+ return ((this-0)-4).c;
end;
var t := this;
if x < 0 then return -1; end; t.f0 := 0;
if x < 1 then return f0; end; t.f1 := 1;
- if x < 2 then return f1; end; t.f2 := t.f0-(0-t.f1); t := t--8;
- if x < 3 then return f2; end; t.f2 := t.f0-(0-t.f1); t := t--8;
- if x < 4 then return f3; end; t.f2 := t.f0-(0-t.f1); t := t--8;
- if x < 5 then return f4; end; t.f2 := t.f0-(0-t.f1); t := t--8;
- if x < 6 then return f5; end; t.f2 := t.f0-(0-t.f1); t := t--8;
- if x < 7 then return f6; end; t.f2 := t.f0-(0-t.f1); t := t--8;
- if x < 8 then return f7; end; t.f2 := t.f0-(0-t.f1); t := t--8;
- if x < 9 then return f8; end; t.f2 := t.f0-(0-t.f1); t := t--8;
+ if x < 2 then return f1; end; t.f2 := t.f0-(0-t.f1); t := t--4;
+ if x < 3 then return f2; end; t.f2 := t.f0-(0-t.f1); t := t--4;
+ if x < 4 then return f3; end; t.f2 := t.f0-(0-t.f1); t := t--4;
+ if x < 5 then return f4; end; t.f2 := t.f0-(0-t.f1); t := t--4;
+ if x < 6 then return f5; end; t.f2 := t.f0-(0-t.f1); t := t--4;
+ if x < 7 then return f6; end; t.f2 := t.f0-(0-t.f1); t := t--4;
+ if x < 8 then return f7; end; t.f2 := t.f0-(0-t.f1); t := t--4;
+ if x < 9 then return f8; end; t.f2 := t.f0-(0-t.f1); t := t--4;
return f9;
end;
while not (x < 2)
do
t.c := t.a-(0-t.b);
- t := t--8;
+ t := t--4;
x := x-1;
end;
- return (t-8).c;
+ return (t-4).c;
end;
-extern long a(long long this);
-extern long b(long long this);
+extern long a(int this);
+extern long b(int this);
RET(a(20) == -7 && b(0xDEAD) == 20);
-extern long a(long long *this);
-extern long b(long long this, long long *a);
+extern long a(int *this);
+extern long b(int this, int *a);
-long long ar[3] = { 2, 4, 8 };
+int ar[3] = { 2, 4, 8 };
RET(a(ar) == -4711 && b(0xDEAD, ar) == 16);
-extern long a(long long *this);
+extern long a(int *this);
-long long ar[3] = { 2, 4, 8 };
+int ar[3] = { 2, 4, 8 };
RET(a(ar) == 815 && ar[0] == 815);
-extern long a(long long *this);
+extern long a(int *this);
-long long ar[3] = { 2, 4, 8 };
+int ar[3] = { 2, 4, 8 };
-RET(a(ar) == 3260 && ar[2] == 3260 && ar[0] == 815);
\ No newline at end of file
+RET(a(ar) == 3260 && ar[2] == 3260 && ar[0] == 815);
-extern long long* b(long long this, long long *a);
+extern int* b(int this, int *a);
-long long ar[3] = { 2, 4, 8 };
+int ar[3] = { 2, 4, 8 };
RET(b(0xDEAD, ar) == ar && ar[0] == 3 && ar[1] == 2 && ar[2] == -4);
-extern long long m(long long *this, long long x);
+extern int m(int *this, int x);
-long long ar[3] = { 2, 4, 8 };
+int ar[3] = { 2, 4, 8 };
RET(m(ar, 12) == 188 && ar[0] == 1 && ar[1] == 4 && ar[2] == 8);
-extern long long m(long long this);
+extern int m(int this);
-RET(m(9) == 3 && m(10) == 0);
\ No newline at end of file
+RET(m(9) == 3 && m(10) == 0);
-extern long long m(long long this, long long a);
+extern int m(int this, int a);
-RET(m(51, 0) == 10 && m(-3, 5) == 30 && m(35, 18) == 8);
\ No newline at end of file
+RET(m(51, 0) == 10 && m(-3, 5) == 30 && m(35, 18) == 8);
-extern long long m(long long this, long long a);
+extern int m(int this, int a);
-RET(m(60, 0) == 10 && m(0, 10) == 200 && m(35, 18) == 8 && m(-10, 0) == 840);
\ No newline at end of file
+printf("m(60,0): %d(10)\n", m(60,0));
+printf("m(0,10): %d(200)\n", m(0,10));
+printf("m(35,18): %d(8)\n", m(35,18));
+printf("m(-10,0): %d(840)\n", m(-10,0));
+RET(m(60, 0) == 10 && m(0, 10) == 200 && m(35, 18) == 8 && m(-10, 0) == 840);
-extern long long m(long long this);
+extern int m(int this);
-RET(m(0xCCACC) == 10);
\ No newline at end of file
+RET(m(0xCCACC) == 10);
-extern long long m(long long this);
+extern int m(int this);
RET(m(-2) == 7 && m(-1) == 5);
-extern long long m(long long this);
+extern int m(int this);
-RET(m(0xBABE) == 0);
\ No newline at end of file
+RET(m(0xBABE) == 0);
var i := 0;
var sum := 0;
while i < s do
- (this - (-8 * i)).x := (this - (-8 * i)).x * 10;
- if (this - (-8 * i)).x = 47110 then
- (this - (-8 * i)).x := 0815;
+ (this - (-4 * i)).x := (this - (-4 * i)).x * 10;
+ if (this - (-4 * i)).x = 47110 then
+ (this - (-4 * i)).x := 0815;
end;
- sum := sum - ((this - (-8 * i)).x * -1);
+ sum := sum - ((this - (-4 * i)).x * -1);
i := i - (-1);
end;
return sum;
-extern long long m(long long *this, long long s);
+extern int m(int *this, int s);
-long long ar[] = { 1, 2, 3, 4};
-long long ar2[] = { -7, 4711, 3, 4};
+int ar[] = { 1, 2, 3, 4};
+int ar2[] = { -7, 4711, 3, 4};
RET(m(ar, 3) == 60 && ar[0] == 10 && ar[1] == 20 && ar[2] == 30 && ar[3] == 4
&& m(ar2, 2) == 745 && ar2[0] == -70 && ar2[1] == 815 && ar2[2] == 3);
var i:= 0;
while not (i = size) do
if i < 1 then
- (this - (i * -8)).x := (this - (i * -8)).x - (-20);
+ (this - (i * -4)).x := (this - (i * -4)).x - (-20);
else
- (this - (i * -8)).x := (this - ((i - 1) * -8)).x or 128;
+ (this - (i * -4)).x := (this - ((i - 1) * -4)).x or 128;
end;
i := i - -1;
end;
-extern long long m1(long long *this, long long size);
-extern long long m2(long long this, long long y);
+extern int m1(int *this, int size);
+extern int m2(int this, int y);
-long long ar[] = { 2, 4, 8, 16, 32 };
+int ar[] = { 2, 4, 8, 16, 32 };
RET(m1(ar, 3) == -20 && ar[0] == 22 && ar[1] == 150 && ar[2] == 150 &&
-m2(0xABC, 101) == 0 && m2(0xABC, -5) == -20 && m2(0xABC, 100) == 320);
\ No newline at end of file
+m2(0xABC, 101) == 0 && m2(0xABC, -5) == -20 && m2(0xABC, 100) == 320);
-extern long long m(long long* ar1, long long *ar2);
+extern int m(int* ar1, int *ar2);
-long long z1[] = { 0, 2, 4, 6, 8, 10, 12 };
-long long z2[] = { 10, 20, 40, 60, 80, 100, 120 };
+int z1[] = { 0, 2, 4, 6, 8, 10, 12 };
+int z2[] = { 10, 20, 40, 60, 80, 100, 120 };
int i;
printf("z1[%i]: %ld, z2[%i]: %ld\n", i, z1[i], i, z2[i]);
}
-long long ret = m(&z1[1], &z2[1]);
+int ret = m(&z1[1], &z2[1]);
printf("ret: %ld\n", ret);
for(i=0; i < sizeof z1/sizeof z1[0]; i++) {
--- /dev/null
+#!/bin/bash
+
+i=$1
+beispiel=gesamt_ppc
+PROGRAM=./$beispiel
+
+#LOC=.
+#LOC=/usr/ftp/pub/ubvl/test/$beispiel
+LOC=~/test/scripts
+
+allow_null_glob_expansion=1
+
+if [ ! -d ~/abgabe/$beispiel ]; then
+ echo "Fehler: Verzeichnis ~/abgabe/$beispiel existiert nicht."
+ exit 1
+else
+ cd ~/abgabe/$beispiel
+ echo 'Teste "make"'
+ make
+fi
+
+if test ! -x $PROGRAM
+then
+ echo "Fehler: Kein Programm $PROGRAM"
+ exit 1
+fi
+let prgnum=0
+#for i in $LOC/*.0 $LOC2/*.0
+if [ -f $i ]; then
+ let prgnum=prgnum+1
+ let errorfound=0
+ echo "==========> Eingabe von $i:"
+ cat $i
+ echo
+ RESFILE=test${beispiel}out$$
+ $PROGRAM <$i >$RESFILE
+ retval=$?
+ echo -n "Übersetzung: "
+ if test $retval -eq 0
+ then
+ echo "Status korrekt"
+ else
+ echo "[Errot] Status=$retval. Erwartet: 0"
+ let errorfound=1
+ fi
+ echo
+ echo "Ausgabe:"
+ if [ -f ~/test/scripts/clr.py ]; then
+ cat $RESFILE | ~/test/scripts/clr.py
+ else
+ cat $RESFILE
+ fi
+ mv -f $RESFILE $RESFILE.s
+ CALLFILE=${i%.*}.call
+ echo
+ if [ ! -f $CALLFILE ]; then
+ echo "Fehler: Datei $CALLFILE existiert nicht, kann Code nicht ausführen..."
+ exit 1
+ else
+ echo "Übersetze und linke das Testprogramm:"
+ if cc -g -I. -DCALL=\"$CALLFILE\" $LOC/testmain.c $LOC/callingconvention.o $RESFILE.s; then
+ echo
+ echo "Rufe folgendes Codefragment auf:"
+ cat $CALLFILE
+ echo
+ gdb ./a.out
+ else
+ echo "[Error] Erzeugter Code konnte nicht assembliert und gelinkt werden."
+ let errorfound=1
+ fi
+ fi
+ rm -f a.out $RESFILE $RESFILE.s
+fi
fi
echo
echo "Ausgabe:"
- if [ -f ~/test/scripts/clr.py ]; then
- cat $RESFILE | ~/test/scripts/clr.py
- else
+ #if [ -f ~/test/scripts/clr.py ]; then
+ # cat $RESFILE | ~/test/scripts/clr.py
+ #else
cat $RESFILE
- fi
+ #fi
mv -f $RESFILE $RESFILE.s
CALLFILE=${i%.*}.call
echo