1 // RUN: %clang_cc1 -emit-llvm -o - %s | FileCheck %s
9 @interface NSString : NSObject
12 // CHECK-LABEL: define {{.*}}void @test1()
14 // CHECK: {{call.*@objc_msgSend}}
15 // CHECK: {{call.*@objc_msgSend}}
16 // CHECK: {{call.*@objc_msgSend}}
18 NSString *str1 = [[[NSString alloc] init] retain];
21 // CHECK-LABEL: define {{.*}}void @test2()
23 // CHECK: {{call.*@objc_msgSend}}
24 // CHECK: {{call.*@objc_msgSend}}
25 // CHECK: {{call.*@objc_msgSend}}
27 NSString *str1 = NSString.alloc.init.retain;
30 @interface Test2 : NSString
35 // CHECK: define internal {{.*}}i8* @"\01-[Test2 init]"
37 // CHECK: {{call.*@objc_msgSendSuper}}
38 // CHECK-NEXT: bitcast i8*
43 @interface Test3 : NSString
48 // CHECK: define internal {{.*}}i8* @"\01-[Test3 init]"
50 // CHECK: {{call.*@objc_msgSendSuper}}
51 // CHECK-NEXT: bitcast i8*