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