// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fobjc-fragile-abi -fobjc-gc -emit-llvm -o - %s | FileCheck %s 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(%struct.Indirect* sret // CHECK: call i8* @objc_memmove_collectable( i = indirect_func(); }