1// RUN: %clang_cc1 -triple x86_64-apple-darwin10  -emit-llvm -o - %s | FileCheck %s
2// rdar://11515196
3
4@interface NSArray @end
5
6@interface NSMutableArray : NSArray
7- (void) addObject;
8@end
9
10@interface BPXLAppDelegate
11
12- (NSArray *)arrayOfThings;
13
14@end
15
16
17@interface BPXLAppDelegate ()
18@property (retain, nonatomic) NSMutableArray *arrayOfThings;
19@end
20
21@implementation BPXLAppDelegate
22
23@synthesize arrayOfThings=_arrayOfThings;
24
25- (void)applicationDidFinishLaunching
26{
27   [self.arrayOfThings addObject];
28}
29
30@end
31
32// CHECK: define internal [[RET:%.*]]* @"\01-[BPXLAppDelegate arrayOfThings
33// CHECK: [[THREE:%.*]] = bitcast [[OPQ:%.*]]* [[TWO:%.*]] to [[RET]]*
34// CHECK: ret [[RET]]* [[THREE]]
35
36