1 | // RUN: %clang_cc1 -triple x86_64-apple-darwin -emit-llvm -o %t %s |
2 | // RUN: FileCheck < %t %s |
3 | // rdar://11777609 |
4 | |
5 | typedef 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; |
25 | typedef 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 [24 x i8] c"^{BABugExample=@}16 |
38 | |
39 | // rdar://14408244 |
40 | @class SCNCamera; |
41 | typedef SCNCamera C3DCamera; |
42 | typedef 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^{SCNCamera}}\00" |
56 | |
57 | // rdar://16655340 |
58 | int i; |
59 | typeof(@encode(typeof(i))) e = @encode(typeof(i)); |
60 | const 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 | |