diff options
Diffstat (limited to 'test/mppa/interop/vaarg_common.c')
-rw-r--r-- | test/mppa/interop/vaarg_common.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/test/mppa/interop/vaarg_common.c b/test/mppa/interop/vaarg_common.c index 9033893b..3314959f 100644 --- a/test/mppa/interop/vaarg_common.c +++ b/test/mppa/interop/vaarg_common.c @@ -3,20 +3,24 @@ #define STACK int a[100];\ a[42] = 42; -#define ONEARG_OP(arg) (3*arg+2) +#define ONEARG_OP(arg) (3*magic(arg)+2) -#define MULTIARG_OP(arg1, arg2, arg3, arg4) (arg1 ^ arg2 << arg3 - arg4) +#define MULTIARG_OP(arg1, arg2, arg3, arg4) (arg1 ^ magic(arg2) << arg3 - arg4) #define MANYARG_OP(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9,\ a10, a11, a12, a13, a14, a15, a16, a17, a18, a19,\ a20, a21, a22, a23, a24, a25, a26, a27, a28, a29)\ - (a0 + a1 * a2 + a3 * a4 + a5 + a6 + a7 - a8 + a9 +\ - a10 + a11 - a12 ^ a13 + a14 - a15 + a16 ^ a17 + a18 + a19 +\ + (a0 + a1 * a2 + magic(a3) * a4 + a5 + a6 + a7 - a8 + a9 +\ + a10 + a11 - a12 ^ a13 + a14 - magic(a15) + a16 ^ a17 + a18 + a19 +\ a20 + a21 + a22 * a23 + a24 + a25 << a26 & a27 + a28 + a29) #define VA_START(vl, arg) va_list vl; va_start(vl, arg) #define VA_END(vl) va_end(vl) +int magic(long a){ + return a*2 + 42; +} + void void_void(void){ STACK; } |