// RUN: %clang_cc1 %s -triple=x86_64-apple-darwin10 -emit-llvm -o - | FileCheck %s // rdar://9208606 struct MyStruct { int x; int y; int z; }; @interface MyClass { MyStruct _foo; } @property (assign, readwrite) const MyStruct& foo; - (const MyStruct&) foo; - (void) setFoo:(const MyStruct&)inFoo; @end int main() { MyClass* myClass; MyStruct myStruct; myClass.foo = myStruct; const MyStruct& currentMyStruct = myClass.foo; return 0; } // CHECK: [[C:%.*]] = call %struct.MyStruct* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend // CHECK: store %struct.MyStruct* [[C]], %struct.MyStruct** [[D:%.*]]