x86_64-struct-return-gc.m [plain text]
// RUN: struct Coerce {
id a;
};
struct Coerce coerce_func(void);
// CHECK: define void @Coerce_test()
void Coerce_test(void) {
struct Coerce c;
// CHECK: call i8* @coerce_func
// CHECK: call i8* @objc_memmove_collectable(
c = coerce_func();
}
struct Indirect {
id a;
int b[10];
};
struct Indirect indirect_func(void);
// CHECK: define void @Indirect_test()
void Indirect_test(void) {
struct Indirect i;
// CHECK: call void @indirect_func( // CHECK: call i8* @objc_memmove_collectable(
i = indirect_func();
}