1// RUN: %clang_cc1 -triple x86_64-apple-darwin -emit-llvm -o %t %s 2// RUN: FileCheck < %t %s 3// rdar://11777609 4 5typedef struct {} Z; 6 7@interface A 8-(void)bar:(Z)a; 9-(void)foo:(Z)a : (char*)b : (Z)c : (double) d; 10@end 11 12@implementation A 13-(void)bar:(Z)a {} 14-(void)foo:(Z)a: (char*)b : (Z)c : (double) d {} 15@end 16 17// CHECK: private unnamed_addr constant [14 x i8] c"v16@0:8{?=}16 18// CHECK: private unnamed_addr constant [26 x i8] c"v32@0:8{?=}16*16{?=}24d24 19 20 21// rdar://13190095 22@interface NSObject @end 23 24@class BABugExample; 25typedef BABugExample BABugExampleRedefinition; 26 27@interface BABugExample : NSObject { 28 BABugExampleRedefinition *_property; // .asciz "^{BABugExample=^{BABugExample}}" 29} 30@property (copy) BABugExampleRedefinition *property; 31@end 32 33@implementation BABugExample 34@synthesize property = _property; 35@end 36 37// CHECK: private unnamed_addr constant [8 x i8] c"@16 38 39// rdar://14408244 40@class SCNCamera; 41typedef SCNCamera C3DCamera; 42typedef struct 43{ 44 C3DCamera *presentationInstance; 45} C3DCameraStorage; 46 47@interface SCNCamera 48@end 49 50@implementation SCNCamera 51{ 52 C3DCameraStorage _storage; 53} 54@end 55// CHECK: private unnamed_addr constant [39 x i8] c"{?=\22presentationInstance\22@\22SCNCamera\22}\00" 56 57// rdar://16655340 58int i; 59typeof(@encode(typeof(i))) e = @encode(typeof(i)); 60const char * Test() 61{ 62 return e; 63} 64// CHECK: @e ={{.*}} global [2 x i8] c"i\00", align 1 65// CHECK: define{{.*}} i8* @Test() 66// CHECK: ret i8* getelementptr inbounds ([2 x i8], [2 x i8]* @e, i64 0, i64 0) 67