| struct __attribute__((trivial_abi)) S_Trivial { | |
| ~S_Trivial() {} | |
| int ivar = 10; | |
| }; | |
| S_Trivial takeTrivial(S_Trivial inVal) | |
| { | |
| S_Trivial ret_val = inVal; | |
| ret_val.ivar = 30; | |
| return ret_val; // Set a breakpoint here | |
| } | |
| struct S_NotTrivial { | |
| ~S_NotTrivial() {} | |
| int ivar = 10; | |
| }; | |
| S_NotTrivial takeNotTrivial(S_NotTrivial inVal) | |
| { | |
| S_NotTrivial ret_val = inVal; | |
| ret_val.ivar = 30; | |
| return ret_val; // Set a breakpoint here | |
| } | |
| int | |
| main() | |
| { | |
| S_Trivial inVal, outVal; | |
| outVal = takeTrivial(inVal); | |
| S_NotTrivial inNotVal, outNotVal; | |
| outNotVal = takeNotTrivial(inNotVal); | |
| return 0; // Set another for return value | |
| } |