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)
19 returnSecondArg({type1} arg1, {type2} arg2, {type3} arg3)
27 returnThirdArg({type1} arg1, {type2} arg2, {type3} arg3)
37 ASSERT(returnFirstArg(123, 45, 67) == 123);
38 ASSERT(returnFirstArg(-123, 45, 67) == -123);
40 ASSERT(returnSecondArg(1, -23, 64) == -23);
41 ASSERT(returnSecondArg(1, 8, 64) == 8);
43 ASSERT(returnThirdArg(-33, -34, -35) == -35);
44 ASSERT(returnThirdArg(-33, -34, 35) == 35);