annotate clang/test/CodeGenObjC/encode-test-6.m @ 236:c4bab56944e8 llvm-original

LLVM 16
author kono
date Wed, 09 Nov 2022 17:45:10 +0900
parents 79ff65ed7e25
children 1f2b6ac9f198
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
236
c4bab56944e8 LLVM 16
kono
parents: 221
diff changeset
1 // RUN: %clang_cc1 -no-opaque-pointers -triple x86_64-apple-darwin -emit-llvm -o %t %s
150
anatofuz
parents:
diff changeset
2 // RUN: FileCheck < %t %s
anatofuz
parents:
diff changeset
3 // rdar://11777609
anatofuz
parents:
diff changeset
4
anatofuz
parents:
diff changeset
5 typedef struct {} Z;
anatofuz
parents:
diff changeset
6
anatofuz
parents:
diff changeset
7 @interface A
anatofuz
parents:
diff changeset
8 -(void)bar:(Z)a;
anatofuz
parents:
diff changeset
9 -(void)foo:(Z)a : (char*)b : (Z)c : (double) d;
anatofuz
parents:
diff changeset
10 @end
anatofuz
parents:
diff changeset
11
anatofuz
parents:
diff changeset
12 @implementation A
anatofuz
parents:
diff changeset
13 -(void)bar:(Z)a {}
anatofuz
parents:
diff changeset
14 -(void)foo:(Z)a: (char*)b : (Z)c : (double) d {}
anatofuz
parents:
diff changeset
15 @end
anatofuz
parents:
diff changeset
16
anatofuz
parents:
diff changeset
17 // CHECK: private unnamed_addr constant [14 x i8] c"v16@0:8{?=}16
anatofuz
parents:
diff changeset
18 // CHECK: private unnamed_addr constant [26 x i8] c"v32@0:8{?=}16*16{?=}24d24
anatofuz
parents:
diff changeset
19
anatofuz
parents:
diff changeset
20
anatofuz
parents:
diff changeset
21 // rdar://13190095
anatofuz
parents:
diff changeset
22 @interface NSObject @end
anatofuz
parents:
diff changeset
23
anatofuz
parents:
diff changeset
24 @class BABugExample;
anatofuz
parents:
diff changeset
25 typedef BABugExample BABugExampleRedefinition;
anatofuz
parents:
diff changeset
26
anatofuz
parents:
diff changeset
27 @interface BABugExample : NSObject {
anatofuz
parents:
diff changeset
28 BABugExampleRedefinition *_property; // .asciz "^{BABugExample=^{BABugExample}}"
anatofuz
parents:
diff changeset
29 }
anatofuz
parents:
diff changeset
30 @property (copy) BABugExampleRedefinition *property;
anatofuz
parents:
diff changeset
31 @end
anatofuz
parents:
diff changeset
32
anatofuz
parents:
diff changeset
33 @implementation BABugExample
anatofuz
parents:
diff changeset
34 @synthesize property = _property;
anatofuz
parents:
diff changeset
35 @end
anatofuz
parents:
diff changeset
36
anatofuz
parents:
diff changeset
37 // CHECK: private unnamed_addr constant [8 x i8] c"@16
anatofuz
parents:
diff changeset
38
anatofuz
parents:
diff changeset
39 // rdar://14408244
anatofuz
parents:
diff changeset
40 @class SCNCamera;
anatofuz
parents:
diff changeset
41 typedef SCNCamera C3DCamera;
anatofuz
parents:
diff changeset
42 typedef struct
anatofuz
parents:
diff changeset
43 {
anatofuz
parents:
diff changeset
44 C3DCamera *presentationInstance;
anatofuz
parents:
diff changeset
45 } C3DCameraStorage;
anatofuz
parents:
diff changeset
46
anatofuz
parents:
diff changeset
47 @interface SCNCamera
anatofuz
parents:
diff changeset
48 @end
anatofuz
parents:
diff changeset
49
anatofuz
parents:
diff changeset
50 @implementation SCNCamera
anatofuz
parents:
diff changeset
51 {
anatofuz
parents:
diff changeset
52 C3DCameraStorage _storage;
anatofuz
parents:
diff changeset
53 }
anatofuz
parents:
diff changeset
54 @end
anatofuz
parents:
diff changeset
55 // CHECK: private unnamed_addr constant [39 x i8] c"{?=\22presentationInstance\22@\22SCNCamera\22}\00"
anatofuz
parents:
diff changeset
56
anatofuz
parents:
diff changeset
57 // rdar://16655340
anatofuz
parents:
diff changeset
58 int i;
anatofuz
parents:
diff changeset
59 typeof(@encode(typeof(i))) e = @encode(typeof(i));
236
c4bab56944e8 LLVM 16
kono
parents: 221
diff changeset
60 const char * Test(void)
150
anatofuz
parents:
diff changeset
61 {
anatofuz
parents:
diff changeset
62 return e;
anatofuz
parents:
diff changeset
63 }
221
79ff65ed7e25 LLVM12 Original
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
64 // CHECK: @e ={{.*}} global [2 x i8] c"i\00", align 1
79ff65ed7e25 LLVM12 Original
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
65 // CHECK: define{{.*}} i8* @Test()
150
anatofuz
parents:
diff changeset
66 // CHECK: ret i8* getelementptr inbounds ([2 x i8], [2 x i8]* @e, i64 0, i64 0)