@@ -171,11 +171,19 @@ int main() {
171171 genericSwap (x, y);
172172 genericPrintFunction (x);
173173 genericPrintFunction (y);
174+ auto xy = genericRet (x);
175+ genericPrintFunction (xy);
176+ xy.mut ();
177+ genericPrintFunction (xy);
178+ genericPrintFunction (x);
174179 }
175180// CHECK-NEXT: TestLargeStruct value=TestLargeStruct(x1: 11, x2: 12, x3: 10, x4: 11, x5: 13, x6: 9)
176181// CHECK-NEXT: TestLargeStruct value=TestLargeStruct(x1: -9, x2: -8, x3: -10, x4: -9, x5: -7, x6: -11)
177182// CHECK-NEXT: TestLargeStruct value=TestLargeStruct(x1: -9, x2: -8, x3: -10, x4: -9, x5: -7, x6: -11)
178- // CHECK-NEXT: TestLargeStruct value=TestLargeStruct(x1: 11, x2: 12, x3: 10, x4: 11, x5: 13, x6: 9)
183+ // CHECK-NEXT: TestLargeStruct value=TestLargeStruct(x1: 11, x2: 12, x3: 10, x4: 11, x5: 13, x6: 9)
184+ // CHECK-NEXT: TestLargeStruct value=TestLargeStruct(x1: -9, x2: -8, x3: -10, x4: -9, x5: -7, x6: -11)
185+ // CHECK-NEXT: TestLargeStruct value=TestLargeStruct(x1: 9, x2: -8, x3: -10, x4: -9, x5: -7, x6: -7)
186+ // CHECK-NEXT: TestLargeStruct value=TestLargeStruct(x1: -9, x2: -8, x3: -10, x4: -9, x5: -7, x6: -11)
179187
180188 {
181189 auto x = createTestSmallStruct (45 );
@@ -185,12 +193,18 @@ int main() {
185193 genericSwap (y, x);
186194 genericPrintFunction (x);
187195 genericPrintFunction (y);
196+ auto xy = genericRet (x);
197+ genericPrintFunction (xy);
198+ xy.mut ();
199+ genericPrintFunction (xy);
200+ genericPrintFunction (x);
188201 }
189202// CHECK-NEXT: TestSmallStruct value=TestSmallStruct(x1: 45)
190203// CHECK-NEXT: TestSmallStruct value=TestSmallStruct(x1: 65233)
191204// CHECK-NEXT: TestSmallStruct value=TestSmallStruct(x1: 65233)
192205// CHECK-NEXT: TestSmallStruct value=TestSmallStruct(x1: 45)
193-
194- // FIXME: return struct.
206+ // CHECK-NEXT: TestSmallStruct value=TestSmallStruct(x1: 65233)
207+ // CHECK-NEXT: TestSmallStruct value=TestSmallStruct(x1: 4294902062)
208+ // CHECK-NEXT: TestSmallStruct value=TestSmallStruct(x1: 65233)
195209 return 0 ;
196210}
0 commit comments