return 3;
}
- static TestStruct3 spill_struct (TestStruct3 regStruct)
+ static TestStruct3 spill_struct (TestStruct3 regStruct, int value)
{
- regStruct.c = 99;
+ regStruct.c = value;
+ return(regStruct);
+ }
+
+ static TestStruct3 ret_big_struct (int value_a, int value_c)
+ {
+ TestStruct3 regStruct = new TestStruct3();
+ regStruct.a = value_a;
+ regStruct.c = value_c;
return(regStruct);
}
myStruct.a = 64;
myStruct.b = 255;
myStruct.c = 127;
- myStruct = spill_struct(myStruct);
+ myStruct = spill_struct(myStruct, 99);
if (myStruct.c == 99)
return 0;
return myStruct.c;
return (pass_struct_spill_big (myStruct));
}
+ static int test_0_pass_ret_big_struct ()
+ {
+ TestStruct3 myStruct;
+ myStruct = ret_big_struct(10,132);
+ if (myStruct.c == 132)
+ return 0;
+ else
+ return 1;
+ }
+
static int test_0_pass_spill_struct_spill ()
{
TestStruct2 myStruct;
return 9;
}
+ static float pass_double_ret_float(double a)
+ {
+ float b;
+ b = (float) a;
+ return b;
+ }
+
+ static int test_0_pass_double_ret_float ()
+ {
+ double a = 654.34;
+ float b = 654.34f;
+ if (pass_double_ret_float(a) == b)
+ return 0;
+ else
+ return 10;
+ }
+
+ static double pass_float_ret_double(float a)
+ {
+ double b;
+ b = (double) a;
+ return b;
+ }
+
+ static int test_0_pass_float_ret_double ()
+ {
+ float a = 654.34f;
+ double b = 654.34;
+ if (pass_float_ret_double(a) == b)
+ return 0;
+ else
+ return 11;
+ }
+
}