brintos

brintos / llvm-project-archived public Read only

0
0
Text · 636 B · b1f5015 Raw
36 lines · cpp
1struct __attribute__((trivial_abi)) S_Trivial {2  ~S_Trivial() {}3  int ivar = 10;4};5 6S_Trivial takeTrivial(S_Trivial inVal)7{8  S_Trivial ret_val = inVal;9  ret_val.ivar = 30;10  return ret_val;   // Set a breakpoint here11}12 13struct S_NotTrivial {14  ~S_NotTrivial() {}15  int ivar = 10;16};17 18S_NotTrivial takeNotTrivial(S_NotTrivial inVal)19{20  S_NotTrivial ret_val = inVal;21  ret_val.ivar = 30;22  return ret_val;   // Set a breakpoint here23}24 25int26main()27{28  S_Trivial inVal, outVal;29  outVal = takeTrivial(inVal);30 31  S_NotTrivial inNotVal, outNotVal;32  outNotVal = takeNotTrivial(inNotVal);33 34  return 0; // Set another for return value35}36