blob: 662dacc55d7d107e4f633d7bd276d2a9cba351bc [file] [log] [blame]
Fariborz Jahanian0ca0b1f2010-05-15 23:05:52 +00001// RUN: %clang_cc1 %s -triple=x86_64-apple-darwin10 -fobjc-nonfragile-abi -emit-llvm -o - | FileCheck %s
2// CHECK-NOT: callq _objc_msgSend_stret
Fariborz Jahanian97a73cd2010-05-06 15:45:36 +00003// CHECK: call void @_ZN1SC1ERKS_
4// CHECK: call %class.S* @_ZN1SaSERKS_
Fariborz Jahanianb3ebe942010-05-10 22:57:35 +00005// CHECK: call %class.S* @_ZN6CGRectaSERKS_
Fariborz Jahanian97a73cd2010-05-06 15:45:36 +00006
7class S {
8public:
9 S& operator = (const S&);
10 S (const S&);
11 S ();
12};
13
Fariborz Jahanianb3ebe942010-05-10 22:57:35 +000014struct CGRect {
15 CGRect & operator = (const CGRect &);
16};
17
Fariborz Jahanian97a73cd2010-05-06 15:45:36 +000018@interface I {
19 S position;
Fariborz Jahanianb3ebe942010-05-10 22:57:35 +000020 CGRect bounds;
Fariborz Jahanian97a73cd2010-05-06 15:45:36 +000021}
22@property(assign, nonatomic) S position;
Fariborz Jahanianb3ebe942010-05-10 22:57:35 +000023@property CGRect bounds;
Fariborz Jahanian0ca0b1f2010-05-15 23:05:52 +000024@property CGRect frame;
25- (void)setFrame:(CGRect)frameRect;
26- (CGRect)frame;
Fariborz Jahanianb3ebe942010-05-10 22:57:35 +000027- (void) initWithOwner;
Fariborz Jahanian97a73cd2010-05-06 15:45:36 +000028@end
29
30@implementation I
31@synthesize position;
Fariborz Jahanianb3ebe942010-05-10 22:57:35 +000032@synthesize bounds;
Fariborz Jahanian0ca0b1f2010-05-15 23:05:52 +000033@synthesize frame;
34- (void)setFrame:(CGRect)frameRect {}
35- (CGRect)frame {return bounds;}
36
Fariborz Jahanianb3ebe942010-05-10 22:57:35 +000037- (void)initWithOwner {
Fariborz Jahanian0ca0b1f2010-05-15 23:05:52 +000038 I* _labelLayer;
Fariborz Jahanianb3ebe942010-05-10 22:57:35 +000039 CGRect labelLayerFrame = self.bounds;
40 labelLayerFrame = self.bounds;
Fariborz Jahanian0ca0b1f2010-05-15 23:05:52 +000041 _labelLayer.frame = labelLayerFrame;
Fariborz Jahanianb3ebe942010-05-10 22:57:35 +000042}
Fariborz Jahanian97a73cd2010-05-06 15:45:36 +000043@end
Fariborz Jahanianbbb52242010-05-07 18:56:13 +000044
45int main() {
46 I *i;
47 S s1;
48 i.position = s1;
49 return 0;
50}
51