1 /** Tests argument passing to functions.
2 Assumes that up to the first two arguments can be passed in registers.
11 returnFirstArg({type1} arg1, {type2} arg2, {type3} arg3)
17 returnSecondArg({type1} arg1, {type2} arg2, {type3} arg3)
23 returnThirdArg({type1} arg1, {type2} arg2, {type3} arg3)
31 ASSERT(returnFirstArg(123, 45, 67) == 123);
32 ASSERT(returnFirstArg(-123, 45, 67) == -123);
34 ASSERT(returnSecondArg(1, -23, 64) == -23);
35 ASSERT(returnSecondArg(1, 8, 64) == 8);
37 ASSERT(returnThirdArg(-33, -34, -35) == -35);
38 ASSERT(returnThirdArg(-33, -34, 35) == 35);