1 | // RUN: %clang_cc1 %s -I%S -triple=x86_64-apple-darwin10 -emit-llvm -o - | FileCheck %s |
2 | // RUN: %clang_cc1 %s -I%S -triple=x86_64-apple-darwin10 -emit-llvm -fvisibility hidden -o - | FileCheck %s -check-prefix=CHECK-HIDDEN |
3 | |
4 | #include <typeinfo> |
5 | |
6 | std::type_info foo() { |
7 | return typeid(void); |
8 | } |
9 | |
10 | namespace __cxxabiv1 { |
11 | struct __fundamental_type_info { |
12 | virtual ~__fundamental_type_info(); |
13 | }; |
14 | |
15 | __fundamental_type_info::~__fundamental_type_info() { } |
16 | } |
17 | |
18 | // void |
19 | // CHECK: @_ZTIv = constant |
20 | // CHECK-HIDDEN: @_ZTIv = hidden constant |
21 | // CHECK: @_ZTIPv = constant |
22 | // CHECK-HIDDEN: @_ZTIPv = hidden constant |
23 | // CHECK: @_ZTIPKv = constant |
24 | // CHECK-HIDDEN: @_ZTIPKv = hidden constant |
25 | |
26 | // std::nullptr_t |
27 | // CHECK: @_ZTIDn = constant |
28 | // CHECK-HIDDEN: @_ZTIDn = hidden constant |
29 | // CHECK: @_ZTIPDn = constant |
30 | // CHECK-HIDDEN: @_ZTIPDn = hidden constant |
31 | // CHECK: @_ZTIPKDn = constant |
32 | // CHECK-HIDDEN: @_ZTIPKDn = hidden constant |
33 | |
34 | // bool |
35 | // CHECK: @_ZTIb = constant |
36 | // CHECK-HIDDEN: @_ZTIb = hidden constant |
37 | // CHECK: @_ZTIPb = constant |
38 | // CHECK-HIDDEN: @_ZTIPb = hidden constant |
39 | // CHECK: @_ZTIPKb = constant |
40 | // CHECK-HIDDEN: @_ZTIPKb = hidden constant |
41 | |
42 | // wchar_t |
43 | // CHECK: @_ZTIw = constant |
44 | // CHECK-HIDDEN: @_ZTIw = hidden constant |
45 | // CHECK: @_ZTIPw = constant |
46 | // CHECK-HIDDEN: @_ZTIPw = hidden constant |
47 | // CHECK: @_ZTIPKw = constant |
48 | // CHECK-HIDDEN: @_ZTIPKw = hidden constant |
49 | |
50 | // char |
51 | // CHECK: @_ZTIc = constant |
52 | // CHECK-HIDDEN: @_ZTIc = hidden constant |
53 | // CHECK: @_ZTIPc = constant |
54 | // CHECK-HIDDEN: @_ZTIPc = hidden constant |
55 | // CHECK: @_ZTIPKc = constant |
56 | // CHECK-HIDDEN: @_ZTIPKc = hidden constant |
57 | |
58 | // unsigned char |
59 | // CHECK: @_ZTIh = constant |
60 | // CHECK-HIDDEN: @_ZTIh = hidden constant |
61 | // CHECK: @_ZTIPh = constant |
62 | // CHECK-HIDDEN: @_ZTIPh = hidden constant |
63 | // CHECK: @_ZTIPKh = constant |
64 | // CHECK-HIDDEN: @_ZTIPKh = hidden constant |
65 | |
66 | // signed char |
67 | // CHECK: @_ZTIa = constant |
68 | // CHECK-HIDDEN: @_ZTIa = hidden constant |
69 | // CHECK: @_ZTIPa = constant |
70 | // CHECK-HIDDEN: @_ZTIPa = hidden constant |
71 | // CHECK: @_ZTIPKa = constant |
72 | // CHECK-HIDDEN: @_ZTIPKa = hidden constant |
73 | |
74 | // short |
75 | // CHECK: @_ZTIs = constant |
76 | // CHECK-HIDDEN: @_ZTIs = hidden constant |
77 | // CHECK: @_ZTIPs = constant |
78 | // CHECK-HIDDEN: @_ZTIPs = hidden constant |
79 | // CHECK: @_ZTIPKs = constant |
80 | // CHECK-HIDDEN: @_ZTIPKs = hidden constant |
81 | |
82 | // unsigned short |
83 | // CHECK: @_ZTIt = constant |
84 | // CHECK-HIDDEN: @_ZTIt = hidden constant |
85 | // CHECK: @_ZTIPt = constant |
86 | // CHECK-HIDDEN: @_ZTIPt = hidden constant |
87 | // CHECK: @_ZTIPKt = constant |
88 | // CHECK-HIDDEN: @_ZTIPKt = hidden constant |
89 | |
90 | // int |
91 | // CHECK: @_ZTIi = constant |
92 | // CHECK-HIDDEN: @_ZTIi = hidden constant |
93 | // CHECK: @_ZTIPi = constant |
94 | // CHECK-HIDDEN: @_ZTIPi = hidden constant |
95 | // CHECK: @_ZTIPKi = constant |
96 | // CHECK-HIDDEN: @_ZTIPKi = hidden constant |
97 | |
98 | // unsigned int |
99 | // CHECK: @_ZTIj = constant |
100 | // CHECK-HIDDEN: @_ZTIj = hidden constant |
101 | // CHECK: @_ZTIPj = constant |
102 | // CHECK-HIDDEN: @_ZTIPj = hidden constant |
103 | // CHECK: @_ZTIPKj = constant |
104 | // CHECK-HIDDEN: @_ZTIPKj = hidden constant |
105 | |
106 | // long |
107 | // CHECK: @_ZTIl = constant |
108 | // CHECK-HIDDEN: @_ZTIl = hidden constant |
109 | // CHECK: @_ZTIPl = constant |
110 | // CHECK-HIDDEN: @_ZTIPl = hidden constant |
111 | // CHECK: @_ZTIPKl = constant |
112 | // CHECK-HIDDEN: @_ZTIPKl = hidden constant |
113 | |
114 | // unsigned long |
115 | // CHECK: @_ZTIm = constant |
116 | // CHECK-HIDDEN: @_ZTIm = hidden constant |
117 | // CHECK: @_ZTIPm = constant |
118 | // CHECK-HIDDEN: @_ZTIPm = hidden constant |
119 | // CHECK: @_ZTIPKm = constant |
120 | // CHECK-HIDDEN: @_ZTIPKm = hidden constant |
121 | |
122 | // long long |
123 | // CHECK: @_ZTIx = constant |
124 | // CHECK-HIDDEN: @_ZTIx = hidden constant |
125 | // CHECK: @_ZTIPx = constant |
126 | // CHECK-HIDDEN: @_ZTIPx = hidden constant |
127 | // CHECK: @_ZTIPKx = constant |
128 | // CHECK-HIDDEN: @_ZTIPKx = hidden constant |
129 | |
130 | // unsigned long long |
131 | // CHECK: @_ZTIy = constant |
132 | // CHECK-HIDDEN: @_ZTIy = hidden constant |
133 | // CHECK: @_ZTIPy = constant |
134 | // CHECK-HIDDEN: @_ZTIPy = hidden constant |
135 | // CHECK: @_ZTIPKy = constant |
136 | // CHECK-HIDDEN: @_ZTIPKy = hidden constant |
137 | |
138 | // __int128 |
139 | // CHECK: @_ZTIn = constant |
140 | // CHECK-HIDDEN: @_ZTIn = hidden constant |
141 | // CHECK: @_ZTIPn = constant |
142 | // CHECK-HIDDEN: @_ZTIPn = hidden constant |
143 | // CHECK: @_ZTIPKn = constant |
144 | // CHECK-HIDDEN: @_ZTIPKn = hidden constant |
145 | |
146 | // unsigned __int128 |
147 | // CHECK: @_ZTIo = constant |
148 | // CHECK-HIDDEN: @_ZTIo = hidden constant |
149 | // CHECK: @_ZTIPo = constant |
150 | // CHECK-HIDDEN: @_ZTIPo = hidden constant |
151 | // CHECK: @_ZTIPKo = constant |
152 | // CHECK-HIDDEN: @_ZTIPKo = hidden constant |
153 | |
154 | // half |
155 | // CHECK: @_ZTIDh = constant |
156 | // CHECK-HIDDEN: @_ZTIDh = hidden constant |
157 | // CHECK: @_ZTIPDh = constant |
158 | // CHECK-HIDDEN: @_ZTIPDh = hidden constant |
159 | // CHECK: @_ZTIPKDh = constant |
160 | // CHECK-HIDDEN: @_ZTIPKDh = hidden constant |
161 | |
162 | // float |
163 | // CHECK: @_ZTIf = constant |
164 | // CHECK-HIDDEN: @_ZTIf = hidden constant |
165 | // CHECK: @_ZTIPf = constant |
166 | // CHECK-HIDDEN: @_ZTIPf = hidden constant |
167 | // CHECK: @_ZTIPKf = constant |
168 | // CHECK-HIDDEN: @_ZTIPKf = hidden constant |
169 | |
170 | // double |
171 | // CHECK: @_ZTId = constant |
172 | // CHECK-HIDDEN: @_ZTId = hidden constant |
173 | // CHECK: @_ZTIPd = constant |
174 | // CHECK-HIDDEN: @_ZTIPd = hidden constant |
175 | // CHECK: @_ZTIPKd = constant |
176 | // CHECK-HIDDEN: @_ZTIPKd = hidden constant |
177 | |
178 | // long double |
179 | // CHECK: @_ZTIe = constant |
180 | // CHECK-HIDDEN: @_ZTIe = hidden constant |
181 | // CHECK: @_ZTIPe = constant |
182 | // CHECK-HIDDEN: @_ZTIPe = hidden constant |
183 | // CHECK: @_ZTIPKe = constant |
184 | // CHECK-HIDDEN: @_ZTIPKe = hidden constant |
185 | |
186 | // char16_t |
187 | // CHECK: @_ZTIDs = constant |
188 | // CHECK-HIDDEN: @_ZTIDs = hidden constant |
189 | // CHECK: @_ZTIPDs = constant |
190 | // CHECK-HIDDEN: @_ZTIPDs = hidden constant |
191 | // CHECK: @_ZTIPKDs = constant |
192 | // CHECK-HIDDEN: @_ZTIPKDs = hidden constant |
193 | |
194 | // char32_t |
195 | // CHECK: @_ZTIDi = constant |
196 | // CHECK-HIDDEN: @_ZTIDi = hidden constant |
197 | // CHECK: @_ZTIPDi = constant |
198 | // CHECK-HIDDEN: @_ZTIPDi = hidden constant |
199 | // CHECK: @_ZTIPKDi = constant |
200 | // CHECK-HIDDEN: @_ZTIPKDi = hidden constant |
201 | |