1// This structure has a non-trivial copy constructor so
2// it needs to be passed by reference.
3struct PassByRef {
4 PassByRef() = default;
5 PassByRef(const PassByRef &p){x = p.x;};
6
7 int x = 11223344;
8};
9
10PassByRef returnPassByRef() { return PassByRef(); }
11int takePassByRef(PassByRef p) {
12 return p.x;
13}
14
15int main() {
16 PassByRef p = returnPassByRef();
17 p.x = 42;
18 return takePassByRef(p); // break here
19}
20

source code of lldb/test/API/commands/expression/argument_passing_restrictions/main.cpp