• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// RUN: %clang_cc1 %s -triple=x86_64-apple-darwin10 -emit-llvm -o - | FileCheck %s
2// rdar://9208606
3
4struct MyStruct
5{
6	int x;
7	int y;
8	int z;
9};
10
11@interface MyClass
12{
13	MyStruct _foo;
14}
15
16@property (assign, readwrite) const MyStruct& foo;
17
18- (const MyStruct&) foo;
19- (void) setFoo:(const MyStruct&)inFoo;
20@end
21
22int main()
23{
24	MyClass* myClass;
25	MyStruct myStruct;
26
27	myClass.foo = myStruct;
28
29	const MyStruct& currentMyStruct = myClass.foo;
30	return 0;
31}
32
33// CHECK: [[C:%.*]] = call %struct.MyStruct* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend
34// CHECK:   store %struct.MyStruct* [[C]], %struct.MyStruct** [[D:%.*]]
35