1 // XFAIL: target-arm && linux-gnu
2 // clang-format off
3 // REQUIRES: lld
4 
5 // Test that we can display tag types.
6 // RUN: %build --compiler=clang-cl --nodefaultlib -o %t.exe -- %s
7 // RUN: env LLDB_USE_NATIVE_PDB_READER=1 %lldb -f %t.exe -s \
8 // RUN:     %p/Inputs/globals-fundamental.lldbinit | FileCheck %s
9 
10 
11 // Fundamental data types
12 bool BFalse = false;
13 // CHECK: (lldb) target variable BFalse
14 // CHECK-NEXT: (bool) BFalse = false
15 bool BTrue = true;
16 // CHECK-NEXT: (lldb) target variable BTrue
17 // CHECK-NEXT: (bool) BTrue = true
18 char CA = 'A';
19 // CHECK-NEXT: (lldb) target variable CA
20 // CHECK-NEXT: (char) CA = 'A'
21 char CZ = 'Z';
22 // CHECK-NEXT: (lldb) target variable CZ
23 // CHECK-NEXT: (char) CZ = 'Z'
24 signed char SCa = 'a';
25 // CHECK-NEXT: (lldb) target variable SCa
26 // CHECK-NEXT: (signed char) SCa = 'a'
27 signed char SCz = 'z';
28 // CHECK-NEXT: (lldb) target variable SCz
29 // CHECK-NEXT: (signed char) SCz = 'z'
30 unsigned char UC24 = 24;
31 // CHECK-NEXT: (lldb) target variable UC24
32 // CHECK-NEXT: (unsigned char) UC24 = '\x18'
33 unsigned char UC42 = 42;
34 // CHECK-NEXT: (lldb) target variable UC42
35 // CHECK-NEXT: (unsigned char) UC42 = '*'
36 char16_t C16_24 = u'\24';
37 // CHECK-NEXT: (lldb) target variable C16_24
38 // CHECK-NEXT: (char16_t) C16_24 = U+0014
39 char32_t C32_42 = U'\42';
40 // CHECK-NEXT: (lldb) target variable C32_42
41 // CHECK-NEXT: (char32_t) C32_42 = U+0x00000022
42 wchar_t WC1 = L'1';
43 // CHECK-NEXT: (lldb) target variable WC1
44 // CHECK-NEXT: (wchar_t) WC1 = L'1'
45 wchar_t WCP = L'P';
46 // CHECK-NEXT: (lldb) target variable WCP
47 // CHECK-NEXT: (wchar_t) WCP = L'P'
48 short SMax = 32767;
49 // CHECK-NEXT: (lldb) target variable SMax
50 // CHECK-NEXT: (short) SMax = 32767
51 short SMin = -32768;
52 // CHECK-NEXT: (lldb) target variable SMin
53 // CHECK-NEXT: (short) SMin = -32768
54 unsigned short USMax = 65535;
55 // CHECK-NEXT: (lldb) target variable USMax
56 // CHECK-NEXT: (unsigned short) USMax = 65535
57 unsigned short USMin = 0;
58 // CHECK-NEXT: (lldb) target variable USMin
59 // CHECK-NEXT: (unsigned short) USMin = 0
60 int IMax = 2147483647;
61 // CHECK-NEXT: (lldb) target variable IMax
62 // CHECK-NEXT: (int) IMax = 2147483647
63 int IMin = -2147483648;
64 // CHECK-NEXT: (lldb) target variable IMin
65 // CHECK-NEXT: (int) IMin = -2147483648
66 unsigned int UIMax = 4294967295;
67 // CHECK-NEXT: (lldb) target variable UIMax
68 // CHECK-NEXT: (unsigned int) UIMax = 4294967295
69 unsigned int UIMin = 0;
70 // CHECK-NEXT: (lldb) target variable UIMin
71 // CHECK-NEXT: (unsigned int) UIMin = 0
72 long LMax = 2147483647;
73 // CHECK-NEXT: (lldb) target variable LMax
74 // CHECK-NEXT: (long) LMax = 2147483647
75 long LMin = -2147483648;
76 // CHECK-NEXT: (lldb) target variable LMin
77 // CHECK-NEXT: (long) LMin = -2147483648
78 unsigned long ULMax = 4294967295;
79 // CHECK-NEXT: (lldb) target variable ULMax
80 // CHECK-NEXT: (unsigned long) ULMax = 4294967295
81 unsigned long ULMin = 0;
82 // CHECK-NEXT: (lldb) target variable ULMin
83 // CHECK-NEXT: (unsigned long) ULMin = 0
84 long long LLMax = 9223372036854775807LL;
85 // CHECK-NEXT: (lldb) target variable LLMax
86 // CHECK-NEXT: (long long) LLMax = 9223372036854775807
87 long long LLMin = -9223372036854775807i64 - 1;
88 // CHECK-NEXT: (lldb) target variable LLMin
89 // CHECK-NEXT: (long long) LLMin = -9223372036854775808
90 unsigned long long ULLMax = 18446744073709551615ULL;
91 // CHECK-NEXT: (lldb) target variable ULLMax
92 // CHECK-NEXT: (unsigned long long) ULLMax = 18446744073709551615
93 unsigned long long ULLMin = 0;
94 // CHECK-NEXT: (lldb) target variable ULLMin
95 // CHECK-NEXT: (unsigned long long) ULLMin = 0
96 float F = 3.1415f;
97 // CHECK-NEXT: (lldb) target variable F
98 // CHECK-NEXT: (float) F = 3.1415
99 double D = 3.1415;
100 // CHECK-NEXT: (lldb) target variable D
101 // CHECK-NEXT: (double) D = 3.1415
102 
103 const bool CBFalse = false;
104 // CHECK-NEXT: (lldb) target variable CBFalse
105 // CHECK-NEXT: (const bool) CBFalse = false
106 const bool CBTrue = true;
107 // CHECK-NEXT: (lldb) target variable CBTrue
108 // CHECK-NEXT: (const bool) CBTrue = true
109 const char CCA = 'A';
110 // CHECK-NEXT: (lldb) target variable CCA
111 // CHECK-NEXT: (const char) CCA = 'A'
112 const char CCZ = 'Z';
113 // CHECK-NEXT: (lldb) target variable CCZ
114 // CHECK-NEXT: (const char) CCZ = 'Z'
115 const signed char CSCa = 'a';
116 // CHECK-NEXT: (lldb) target variable CSCa
117 // CHECK-NEXT: (const signed char) CSCa = 'a'
118 const signed char CSCz = 'z';
119 // CHECK-NEXT: (lldb) target variable CSCz
120 // CHECK-NEXT: (const signed char) CSCz = 'z'
121 const unsigned char CUC24 = 24;
122 // CHECK-NEXT: (lldb) target variable CUC24
123 // CHECK-NEXT: (const unsigned char) CUC24 = '\x18'
124 const unsigned char CUC42 = 42;
125 // CHECK-NEXT: (lldb) target variable CUC42
126 // CHECK-NEXT: (const unsigned char) CUC42 = '*'
127 const char16_t CC16_24 = u'\24';
128 // CHECK-NEXT: (lldb) target variable CC16_24
129 // CHECK-NEXT: (const char16_t) CC16_24 = U+0014
130 const char32_t CC32_42 = U'\42';
131 // CHECK-NEXT: (lldb) target variable CC32_42
132 // CHECK-NEXT: (const char32_t) CC32_42 = U+0x00000022
133 const wchar_t CWC1 = L'1';
134 // CHECK-NEXT: (lldb) target variable CWC1
135 // CHECK-NEXT: (const wchar_t) CWC1 = L'1'
136 const wchar_t CWCP = L'P';
137 // CHECK-NEXT: (lldb) target variable CWCP
138 // CHECK-NEXT: (const wchar_t) CWCP = L'P'
139 const short CSMax = 32767;
140 // CHECK-NEXT: (lldb) target variable CSMax
141 // CHECK-NEXT: (const short) CSMax = 32767
142 const short CSMin = -32768;
143 // CHECK-NEXT: (lldb) target variable CSMin
144 // CHECK-NEXT: (const short) CSMin = -32768
145 const unsigned short CUSMax = 65535;
146 // CHECK-NEXT: (lldb) target variable CUSMax
147 // CHECK-NEXT: (const unsigned short) CUSMax = 65535
148 const unsigned short CUSMin = 0;
149 // CHECK-NEXT: (lldb) target variable CUSMin
150 // CHECK-NEXT: (const unsigned short) CUSMin = 0
151 const int CIMax = 2147483647;
152 // CHECK-NEXT: (lldb) target variable CIMax
153 // CHECK-NEXT: (const int) CIMax = 2147483647
154 const int CIMin = -2147483648;
155 // CHECK-NEXT: (lldb) target variable CIMin
156 // CHECK-NEXT: (const int) CIMin = -2147483648
157 const unsigned int CUIMax = 4294967295;
158 // CHECK-NEXT: (lldb) target variable CUIMax
159 // CHECK-NEXT: (const unsigned int) CUIMax = 4294967295
160 const unsigned int CUIMin = 0;
161 // CHECK-NEXT: (lldb) target variable CUIMin
162 // CHECK-NEXT: (const unsigned int) CUIMin = 0
163 const long CLMax = 2147483647;
164 // CHECK-NEXT: (lldb) target variable CLMax
165 // CHECK-NEXT: (const long) CLMax = 2147483647
166 const long CLMin = -2147483648;
167 // CHECK-NEXT: (lldb) target variable CLMin
168 // CHECK-NEXT: (const long) CLMin = -2147483648
169 const unsigned long CULMax = 4294967295;
170 // CHECK-NEXT: (lldb) target variable CULMax
171 // CHECK-NEXT: (const unsigned long) CULMax = 4294967295
172 const unsigned long CULMin = 0;
173 // CHECK-NEXT: (lldb) target variable CULMin
174 // CHECK-NEXT: (const unsigned long) CULMin = 0
175 const long long CLLMax = 9223372036854775807i64;
176 // CHECK-NEXT: (lldb) target variable CLLMax
177 // CHECK-NEXT: (const long long) CLLMax = 9223372036854775807
178 const long long CLLMin = -9223372036854775807i64 - 1;
179 // CHECK-NEXT: (lldb) target variable CLLMin
180 // CHECK-NEXT: (const long long) CLLMin = -9223372036854775808
181 const unsigned long long CULLMax = 18446744073709551615ULL;
182 // CHECK-NEXT: (lldb) target variable CULLMax
183 // CHECK-NEXT: (const unsigned long long) CULLMax = 18446744073709551615
184 const unsigned long long CULLMin = 0;
185 // CHECK-NEXT: (lldb) target variable CULLMin
186 // CHECK-NEXT: (const unsigned long long) CULLMin = 0
187 const float CF = 3.1415f;
188 // CHECK-NEXT: (lldb) target variable CF
189 // CHECK-NEXT: (const float) CF = 3.1415
190 const double CD = 3.1415;
191 // CHECK-NEXT: (lldb) target variable CD
192 // CHECK-NEXT: (const double) CD = 3.1415
193 
194 // constexpr fundamental data types.
195 constexpr bool ConstexprBFalse = false;
196 // CHECK-NEXT: (lldb) target variable ConstexprBFalse
197 // CHECK-NEXT: (const bool) ConstexprBFalse = false
198 constexpr bool ConstexprBTrue = true;
199 // CHECK-NEXT: (lldb) target variable ConstexprBTrue
200 // CHECK-NEXT: (const bool) ConstexprBTrue = true
201 constexpr char ConstexprCA = 'A';
202 // CHECK-NEXT: (lldb) target variable ConstexprCA
203 // CHECK-NEXT: (const char) ConstexprCA = 'A'
204 constexpr char ConstexprCZ = 'Z';
205 // CHECK-NEXT: (lldb) target variable ConstexprCZ
206 // CHECK-NEXT: (const char) ConstexprCZ = 'Z'
207 constexpr signed char ConstexprSCa = 'a';
208 // CHECK-NEXT: (lldb) target variable ConstexprSCa
209 // CHECK-NEXT: (const signed char) ConstexprSCa = 'a'
210 constexpr signed char ConstexprSCz = 'z';
211 // CHECK-NEXT: (lldb) target variable ConstexprSCz
212 // CHECK-NEXT: (const signed char) ConstexprSCz = 'z'
213 constexpr unsigned char ConstexprUC24 = 24;
214 // CHECK-NEXT: (lldb) target variable ConstexprUC24
215 // CHECK-NEXT: (const unsigned char) ConstexprUC24 = '\x18'
216 constexpr unsigned char ConstexprUC42 = 42;
217 // CHECK-NEXT: (lldb) target variable ConstexprUC42
218 // CHECK-NEXT: (const unsigned char) ConstexprUC42 = '*'
219 constexpr char16_t ConstexprC16_24 = u'\24';
220 // CHECK-NEXT: (lldb) target variable ConstexprC16_24
221 // CHECK-NEXT: (const char16_t) ConstexprC16_24 = U+0014
222 constexpr char32_t ConstexprC32_42 = U'\42';
223 // CHECK-NEXT: (lldb) target variable ConstexprC32_42
224 // CHECK-NEXT: (const char32_t) ConstexprC32_42 = U+0x00000022
225 constexpr wchar_t ConstexprWC1 = L'1';
226 // CHECK-NEXT: (lldb) target variable ConstexprWC1
227 // CHECK-NEXT: (const wchar_t) ConstexprWC1 = L'1'
228 constexpr wchar_t ConstexprWCP = L'P';
229 // CHECK-NEXT: (lldb) target variable ConstexprWCP
230 // CHECK-NEXT: (const wchar_t) ConstexprWCP = L'P'
231 constexpr short ConstexprSMax = 32767;
232 // CHECK-NEXT: (lldb) target variable ConstexprSMax
233 // CHECK-NEXT: (const short) ConstexprSMax = 32767
234 constexpr short ConstexprSMin = -32768;
235 // CHECK-NEXT: (lldb) target variable ConstexprSMin
236 // CHECK-NEXT: (const short) ConstexprSMin = -32768
237 constexpr unsigned short ConstexprUSMax = 65535;
238 // CHECK-NEXT: (lldb) target variable ConstexprUSMax
239 // CHECK-NEXT: (const unsigned short) ConstexprUSMax = 65535
240 constexpr unsigned short ConstexprUSMin = 0;
241 // CHECK-NEXT: (lldb) target variable ConstexprUSMin
242 // CHECK-NEXT: (const unsigned short) ConstexprUSMin = 0
243 constexpr int ConstexprIMax = 2147483647;
244 // CHECK-NEXT: (lldb) target variable ConstexprIMax
245 // CHECK-NEXT: (const int) ConstexprIMax = 2147483647
246 constexpr int ConstexprIMin = -2147483648;
247 // CHECK-NEXT: (lldb) target variable ConstexprIMin
248 // CHECK-NEXT: (const int) ConstexprIMin = -2147483648
249 constexpr unsigned int ConstexprUIMax = 4294967295;
250 // CHECK-NEXT: (lldb) target variable ConstexprUIMax
251 // CHECK-NEXT: (const unsigned int) ConstexprUIMax = 4294967295
252 constexpr unsigned int ConstexprUIMin = 0;
253 // CHECK-NEXT: (lldb) target variable ConstexprUIMin
254 // CHECK-NEXT: (const unsigned int) ConstexprUIMin = 0
255 constexpr long ConstexprLMax = 2147483647;
256 // CHECK-NEXT: (lldb) target variable ConstexprLMax
257 // CHECK-NEXT: (const long) ConstexprLMax = 2147483647
258 constexpr long ConstexprLMin = -2147483648;
259 // CHECK-NEXT: (lldb) target variable ConstexprLMin
260 // CHECK-NEXT: (const long) ConstexprLMin = -2147483648
261 constexpr unsigned long ConstexprULMax = 4294967295;
262 // CHECK-NEXT: (lldb) target variable ConstexprULMax
263 // CHECK-NEXT: (const unsigned long) ConstexprULMax = 4294967295
264 constexpr unsigned long ConstexprULMin = 0;
265 // CHECK-NEXT: (lldb) target variable ConstexprULMin
266 // CHECK-NEXT: (const unsigned long) ConstexprULMin = 0
267 constexpr long long ConstexprLLMax = 9223372036854775807i64;
268 // CHECK-NEXT: (lldb) target variable ConstexprLLMax
269 // CHECK-NEXT: (const long long) ConstexprLLMax = 9223372036854775807
270 constexpr long long ConstexprLLMin = -9223372036854775807i64 - 1;
271 // CHECK-NEXT: (lldb) target variable ConstexprLLMin
272 // CHECK-NEXT: (const long long) ConstexprLLMin = -9223372036854775808
273 constexpr unsigned long long ConstexprULLMax = 18446744073709551615ULL;
274 // CHECK-NEXT: (lldb) target variable ConstexprULLMax
275 // CHECK-NEXT: (const unsigned long long) ConstexprULLMax = 18446744073709551615
276 constexpr unsigned long long ConstexprULLMin = 0;
277 // CHECK-NEXT: (lldb) target variable ConstexprULLMin
278 // CHECK-NEXT: (const unsigned long long) ConstexprULLMin = 0
279 constexpr float ConstexprF = 3.1415f;
280 // CHECK-NEXT: (lldb) target variable ConstexprF
281 // CHECK-NEXT: (const float) ConstexprF = 3.1415
282 constexpr double ConstexprD = 3.1415;
283 // CHECK-NEXT: (lldb) target variable ConstexprD
284 // CHECK-NEXT: (const double) ConstexprD = 3.1415
285 
286 
287 // FIXME: LLDB currently doesn't resolve pointers within the target without a
288 // running process (I haven't checked whether or not it can with a running
289 // process). So currently it will just print an address, which is unstable and
290 // should not be relied upon for testing. So for now we're just checking that
291 // the variable name and type is correct. We should fix this in LLDB and then
292 // update the tests.
293 bool *PBFalse = &BFalse;
294 // CHECK-NEXT: (lldb) target variable PBFalse
295 // CHECK-NEXT: (bool *) PBFalse = {{.*}}
296 bool *PBTrue = &BTrue;
297 // CHECK-NEXT: (lldb) target variable PBTrue
298 // CHECK-NEXT: (bool *) PBTrue = {{.*}}
299 char *PCA = &CA;
300 // CHECK-NEXT: (lldb) target variable PCA
301 // CHECK-NEXT: (char *) PCA = {{.*}}
302 char *PCZ = &CZ;
303 // CHECK-NEXT: (lldb) target variable PCZ
304 // CHECK-NEXT: (char *) PCZ = {{.*}}
305 signed char *PSCa = &SCa;
306 // CHECK-NEXT: (lldb) target variable PSCa
307 // CHECK-NEXT: (signed char *) PSCa = {{.*}}
308 signed char *PSCz = &SCz;
309 // CHECK-NEXT: (lldb) target variable PSCz
310 // CHECK-NEXT: (signed char *) PSCz = {{.*}}
311 unsigned char *PUC24 = &UC24;
312 // CHECK-NEXT: (lldb) target variable PUC24
313 // CHECK-NEXT: (unsigned char *) PUC24 = {{.*}}
314 unsigned char *PUC42 = &UC42;
315 // CHECK-NEXT: (lldb) target variable PUC42
316 // CHECK-NEXT: (unsigned char *) PUC42 = {{.*}}
317 char16_t *PC16_24 = &C16_24;
318 // CHECK-NEXT: (lldb) target variable PC16_24
319 // CHECK-NEXT: (char16_t *) PC16_24 = {{.*}}
320 char32_t *PC32_42 = &C32_42;
321 // CHECK-NEXT: (lldb) target variable PC32_42
322 // CHECK-NEXT: (char32_t *) PC32_42 = {{.*}}
323 wchar_t *PWC1 = &WC1;
324 // CHECK-NEXT: (lldb) target variable PWC1
325 // CHECK-NEXT: (wchar_t *) PWC1 = {{.*}}
326 wchar_t *PWCP = &WCP;
327 // CHECK-NEXT: (lldb) target variable PWCP
328 // CHECK-NEXT: (wchar_t *) PWCP = {{.*}}
329 short *PSMax = &SMax;
330 // CHECK-NEXT: (lldb) target variable PSMax
331 // CHECK-NEXT: (short *) PSMax = {{.*}}
332 short *PSMin = &SMin;
333 // CHECK-NEXT: (lldb) target variable PSMin
334 // CHECK-NEXT: (short *) PSMin = {{.*}}
335 unsigned short *PUSMax = &USMax;
336 // CHECK-NEXT: (lldb) target variable PUSMax
337 // CHECK-NEXT: (unsigned short *) PUSMax = {{.*}}
338 unsigned short *PUSMin = &USMin;
339 // CHECK-NEXT: (lldb) target variable PUSMin
340 // CHECK-NEXT: (unsigned short *) PUSMin = {{.*}}
341 int *PIMax = &IMax;
342 // CHECK-NEXT: (lldb) target variable PIMax
343 // CHECK-NEXT: (int *) PIMax = {{.*}}
344 int *PIMin = &IMin;
345 // CHECK-NEXT: (lldb) target variable PIMin
346 // CHECK-NEXT: (int *) PIMin = {{.*}}
347 unsigned int *PUIMax = &UIMax;
348 // CHECK-NEXT: (lldb) target variable PUIMax
349 // CHECK-NEXT: (unsigned int *) PUIMax = {{.*}}
350 unsigned int *PUIMin = &UIMin;
351 // CHECK-NEXT: (lldb) target variable PUIMin
352 // CHECK-NEXT: (unsigned int *) PUIMin = {{.*}}
353 long *PLMax = &LMax;
354 // CHECK-NEXT: (lldb) target variable PLMax
355 // CHECK-NEXT: (long *) PLMax = {{.*}}
356 long *PLMin = &LMin;
357 // CHECK-NEXT: (lldb) target variable PLMin
358 // CHECK-NEXT: (long *) PLMin = {{.*}}
359 unsigned long *PULMax = &ULMax;
360 // CHECK-NEXT: (lldb) target variable PULMax
361 // CHECK-NEXT: (unsigned long *) PULMax = {{.*}}
362 unsigned long *PULMin = &ULMin;
363 // CHECK-NEXT: (lldb) target variable PULMin
364 // CHECK-NEXT: (unsigned long *) PULMin = {{.*}}
365 long long *PLLMax = &LLMax;
366 // CHECK-NEXT: (lldb) target variable PLLMax
367 // CHECK-NEXT: (long long *) PLLMax = {{.*}}
368 long long *PLLMin = &LLMin;
369 // CHECK-NEXT: (lldb) target variable PLLMin
370 // CHECK-NEXT: (long long *) PLLMin = {{.*}}
371 unsigned long long *PULLMax = &ULLMax;
372 // CHECK-NEXT: (lldb) target variable PULLMax
373 // CHECK-NEXT: (unsigned long long *) PULLMax = {{.*}}
374 unsigned long long *PULLMin = &ULLMin;
375 // CHECK-NEXT: (lldb) target variable PULLMin
376 // CHECK-NEXT: (unsigned long long *) PULLMin = {{.*}}
377 float *PF = &F;
378 // CHECK-NEXT: (lldb) target variable PF
379 // CHECK-NEXT: (float *) PF = {{.*}}
380 double *PD = &D;
381 // CHECK-NEXT: (lldb) target variable PD
382 // CHECK-NEXT: (double *) PD = {{.*}}
383 
384 // Const pointers to fundamental data types
385 const bool *CPBFalse = &BFalse;
386 // CHECK-NEXT: (lldb) target variable CPBFalse
387 // CHECK-NEXT: (const bool *) CPBFalse = {{.*}}
388 const bool *CPBTrue = &BTrue;
389 // CHECK-NEXT: (lldb) target variable CPBTrue
390 // CHECK-NEXT: (const bool *) CPBTrue = {{.*}}
391 const char *CPCA = &CA;
392 // CHECK-NEXT: (lldb) target variable CPCA
393 // CHECK-NEXT: (const char *) CPCA = {{.*}}
394 const char *CPCZ = &CZ;
395 // CHECK-NEXT: (lldb) target variable CPCZ
396 // CHECK-NEXT: (const char *) CPCZ = {{.*}}
397 const signed char *CPSCa = &SCa;
398 // CHECK-NEXT: (lldb) target variable CPSCa
399 // CHECK-NEXT: (const signed char *) CPSCa = {{.*}}
400 const signed char *CPSCz = &SCz;
401 // CHECK-NEXT: (lldb) target variable CPSCz
402 // CHECK-NEXT: (const signed char *) CPSCz = {{.*}}
403 const unsigned char *CPUC24 = &UC24;
404 // CHECK-NEXT: (lldb) target variable CPUC24
405 // CHECK-NEXT: (const unsigned char *) CPUC24 = {{.*}}
406 const unsigned char *CPUC42 = &UC42;
407 // CHECK-NEXT: (lldb) target variable CPUC42
408 // CHECK-NEXT: (const unsigned char *) CPUC42 = {{.*}}
409 const char16_t *CPC16_24 = &C16_24;
410 // CHECK-NEXT: (lldb) target variable CPC16_24
411 // CHECK-NEXT: (const char16_t *) CPC16_24 = {{.*}}
412 const char32_t *CPC32_42 = &C32_42;
413 // CHECK-NEXT: (lldb) target variable CPC32_42
414 // CHECK-NEXT: (const char32_t *) CPC32_42 = {{.*}}
415 const wchar_t *CPWC1 = &WC1;
416 // CHECK-NEXT: (lldb) target variable CPWC1
417 // CHECK-NEXT: (const wchar_t *) CPWC1 = {{.*}}
418 const wchar_t *CPWCP = &WCP;
419 // CHECK-NEXT: (lldb) target variable CPWCP
420 // CHECK-NEXT: (const wchar_t *) CPWCP = {{.*}}
421 const short *CPSMax = &SMax;
422 // CHECK-NEXT: (lldb) target variable CPSMax
423 // CHECK-NEXT: (const short *) CPSMax = {{.*}}
424 const short *CPSMin = &SMin;
425 // CHECK-NEXT: (lldb) target variable CPSMin
426 // CHECK-NEXT: (const short *) CPSMin = {{.*}}
427 const unsigned short *CPUSMax = &USMax;
428 // CHECK-NEXT: (lldb) target variable CPUSMax
429 // CHECK-NEXT: (const unsigned short *) CPUSMax = {{.*}}
430 const unsigned short *CPUSMin = &USMin;
431 // CHECK-NEXT: (lldb) target variable CPUSMin
432 // CHECK-NEXT: (const unsigned short *) CPUSMin = {{.*}}
433 const int *CPIMax = &IMax;
434 // CHECK-NEXT: (lldb) target variable CPIMax
435 // CHECK-NEXT: (const int *) CPIMax = {{.*}}
436 const int *CPIMin = &IMin;
437 // CHECK-NEXT: (lldb) target variable CPIMin
438 // CHECK-NEXT: (const int *) CPIMin = {{.*}}
439 const unsigned int *CPUIMax = &UIMax;
440 // CHECK-NEXT: (lldb) target variable CPUIMax
441 // CHECK-NEXT: (const unsigned int *) CPUIMax = {{.*}}
442 const unsigned int *CPUIMin = &UIMin;
443 // CHECK-NEXT: (lldb) target variable CPUIMin
444 // CHECK-NEXT: (const unsigned int *) CPUIMin = {{.*}}
445 const long *CPLMax = &LMax;
446 // CHECK-NEXT: (lldb) target variable CPLMax
447 // CHECK-NEXT: (const long *) CPLMax = {{.*}}
448 const long *CPLMin = &LMin;
449 // CHECK-NEXT: (lldb) target variable CPLMin
450 // CHECK-NEXT: (const long *) CPLMin = {{.*}}
451 const unsigned long *CPULMax = &ULMax;
452 // CHECK-NEXT: (lldb) target variable CPULMax
453 // CHECK-NEXT: (const unsigned long *) CPULMax = {{.*}}
454 const unsigned long *CPULMin = &ULMin;
455 // CHECK-NEXT: (lldb) target variable CPULMin
456 // CHECK-NEXT: (const unsigned long *) CPULMin = {{.*}}
457 const long long *CPLLMax = &LLMax;
458 // CHECK-NEXT: (lldb) target variable CPLLMax
459 // CHECK-NEXT: (const long long *) CPLLMax = {{.*}}
460 const long long *CPLLMin = &LLMin;
461 // CHECK-NEXT: (lldb) target variable CPLLMin
462 // CHECK-NEXT: (const long long *) CPLLMin = {{.*}}
463 const unsigned long long *CPULLMax = &ULLMax;
464 // CHECK-NEXT: (lldb) target variable CPULLMax
465 // CHECK-NEXT: (const unsigned long long *) CPULLMax = {{.*}}
466 const unsigned long long *CPULLMin = &ULLMin;
467 // CHECK-NEXT: (lldb) target variable CPULLMin
468 // CHECK-NEXT: (const unsigned long long *) CPULLMin = {{.*}}
469 const float *CPF = &F;
470 // CHECK-NEXT: (lldb) target variable CPF
471 // CHECK-NEXT: (const float *) CPF = {{.*}}
472 const double *CPD = &D;
473 // CHECK-NEXT: (lldb) target variable CPD
474 // CHECK-NEXT: (const double *) CPD = {{.*}}
475 
476 
477 // References to fundamental data types
478 
479 bool &RBFalse = BFalse;
480 // CHECK-NEXT: (lldb) target variable RBFalse
481 // CHECK-NEXT: (bool &) RBFalse = {{.*}} (&::RBFalse = false)
482 bool &RBTrue = BTrue;
483 // CHECK-NEXT: (lldb) target variable RBTrue
484 // CHECK-NEXT: (bool &) RBTrue = {{.*}} (&::RBTrue = true)
485 char &RCA = CA;
486 // CHECK-NEXT: (lldb) target variable RCA
487 // CHECK-NEXT: (char &) RCA = {{.*}} (&::RCA = 'A')
488 char &RCZ = CZ;
489 // CHECK-NEXT: (lldb) target variable RCZ
490 // CHECK-NEXT: (char &) RCZ = {{.*}} (&::RCZ = 'Z')
491 signed char &RSCa = SCa;
492 // CHECK-NEXT: (lldb) target variable RSCa
493 // CHECK-NEXT: (signed char &) RSCa = {{.*}} (&::RSCa = 'a')
494 signed char &RSCz = SCz;
495 // CHECK-NEXT: (lldb) target variable RSCz
496 // CHECK-NEXT: (signed char &) RSCz = {{.*}} (&::RSCz = 'z')
497 unsigned char &RUC24 = UC24;
498 // CHECK-NEXT: (lldb) target variable RUC24
499 // CHECK-NEXT: (unsigned char &) RUC24 = {{.*}} (&::RUC24 = '\x18')
500 unsigned char &RUC42 = UC42;
501 // CHECK-NEXT: (lldb) target variable RUC42
502 // CHECK-NEXT: (unsigned char &) RUC42 = {{.*}} (&::RUC42 = '*')
503 short &RSMax = SMax;
504 // CHECK-NEXT: (lldb) target variable RSMax
505 // CHECK-NEXT: (short &) RSMax = {{.*}} (&::RSMax = 32767)
506 short &RSMin = SMin;
507 // CHECK-NEXT: (lldb) target variable RSMin
508 // CHECK-NEXT: (short &) RSMin = {{.*}} (&::RSMin = -32768)
509 unsigned short &RUSMax = USMax;
510 // CHECK-NEXT: (lldb) target variable RUSMax
511 // CHECK-NEXT: (unsigned short &) RUSMax = {{.*}} (&::RUSMax = 65535)
512 unsigned short &RUSMin = USMin;
513 // CHECK-NEXT: (lldb) target variable RUSMin
514 // CHECK-NEXT: (unsigned short &) RUSMin = {{.*}} (&::RUSMin = 0)
515 int &RIMax = IMax;
516 // CHECK-NEXT: (lldb) target variable RIMax
517 // CHECK-NEXT: (int &) RIMax = {{.*}} (&::RIMax = 2147483647)
518 int &RIMin = IMin;
519 // CHECK-NEXT: (lldb) target variable RIMin
520 // CHECK-NEXT: (int &) RIMin = {{.*}} (&::RIMin = -2147483648)
521 unsigned int &RUIMax = UIMax;
522 // CHECK-NEXT: (lldb) target variable RUIMax
523 // CHECK-NEXT: (unsigned int &) RUIMax = {{.*}} (&::RUIMax = 4294967295)
524 unsigned int &RUIMin = UIMin;
525 // CHECK-NEXT: (lldb) target variable RUIMin
526 // CHECK-NEXT: (unsigned int &) RUIMin = {{.*}} (&::RUIMin = 0)
527 long &RLMax = LMax;
528 // CHECK-NEXT: (lldb) target variable RLMax
529 // CHECK-NEXT: (long &) RLMax = {{.*}} (&::RLMax = 2147483647)
530 long &RLMin = LMin;
531 // CHECK-NEXT: (lldb) target variable RLMin
532 // CHECK-NEXT: (long &) RLMin = {{.*}} (&::RLMin = -2147483648)
533 unsigned long &RULMax = ULMax;
534 // CHECK-NEXT: (lldb) target variable RULMax
535 // CHECK-NEXT: (unsigned long &) RULMax = {{.*}} (&::RULMax = 4294967295)
536 unsigned long &RULMin = ULMin;
537 // CHECK-NEXT: (lldb) target variable RULMin
538 // CHECK-NEXT: (unsigned long &) RULMin = {{.*}} (&::RULMin = 0)
539 long long &RLLMax = LLMax;
540 // CHECK-NEXT: (lldb) target variable RLLMax
541 // CHECK-NEXT: (long long &) RLLMax = {{.*}} (&::RLLMax = 9223372036854775807)
542 long long &RLLMin = LLMin;
543 // CHECK-NEXT: (lldb) target variable RLLMin
544 // CHECK-NEXT: (long long &) RLLMin = {{.*}} (&::RLLMin = -9223372036854775808)
545 unsigned long long &RULLMax = ULLMax;
546 // CHECK-NEXT: (lldb) target variable RULLMax
547 // CHECK-NEXT: (unsigned long long &) RULLMax = {{.*}} (&::RULLMax = 18446744073709551615)
548 unsigned long long &RULLMin = ULLMin;
549 // CHECK-NEXT: (lldb) target variable RULLMin
550 // CHECK-NEXT: (unsigned long long &) RULLMin = {{.*}} (&::RULLMin = 0)
551 float &RF = F;
552 // CHECK-NEXT: (lldb) target variable RF
553 // CHECK-NEXT: (float &) RF = {{.*}} (&::RF = 3.1415)
554 double &RD = D;
555 // CHECK-NEXT: (lldb) target variable RD
556 // CHECK-NEXT: (double &) RD = {{.*}} (&::RD = 3.1415000000000002)
557 
558 // const references to fundamental data types
559 const bool &CRBFalse = BFalse;
560 // CHECK-NEXT: (lldb) target variable CRBFalse
561 // CHECK-NEXT: (const bool &) CRBFalse = {{.*}} (&::CRBFalse = false)
562 const bool &CRBTrue = BTrue;
563 // CHECK-NEXT: (lldb) target variable CRBTrue
564 // CHECK-NEXT: (const bool &) CRBTrue = {{.*}} (&::CRBTrue = true)
565 const char &CRCA = CA;
566 // CHECK-NEXT: (lldb) target variable CRCA
567 // CHECK-NEXT: (const char &) CRCA = {{.*}} (&::CRCA = 'A')
568 const char &CRCZ = CZ;
569 // CHECK-NEXT: (lldb) target variable CRCZ
570 // CHECK-NEXT: (const char &) CRCZ = {{.*}} (&::CRCZ = 'Z')
571 const signed char &CRSCa = SCa;
572 // CHECK-NEXT: (lldb) target variable CRSCa
573 // CHECK-NEXT: (const signed char &) CRSCa = {{.*}} (&::CRSCa = 'a')
574 const signed char &CRSCz = SCz;
575 // CHECK-NEXT: (lldb) target variable CRSCz
576 // CHECK-NEXT: (const signed char &) CRSCz = {{.*}} (&::CRSCz = 'z')
577 const unsigned char &CRUC24 = UC24;
578 // CHECK-NEXT: (lldb) target variable CRUC24
579 // CHECK-NEXT: (const unsigned char &) CRUC24 = {{.*}} (&::CRUC24 = '\x18')
580 const unsigned char &CRUC42 = UC42;
581 // CHECK-NEXT: (lldb) target variable CRUC42
582 // CHECK-NEXT: (const unsigned char &) CRUC42 = {{.*}} (&::CRUC42 = '*')
583 const short &CRSMax = SMax;
584 // CHECK-NEXT: (lldb) target variable CRSMax
585 // CHECK-NEXT: (const short &) CRSMax = {{.*}} (&::CRSMax = 32767)
586 const short &CRSMin = SMin;
587 // CHECK-NEXT: (lldb) target variable CRSMin
588 // CHECK-NEXT: (const short &) CRSMin = {{.*}} (&::CRSMin = -32768)
589 const unsigned short &CRUSMax = USMax;
590 // CHECK-NEXT: (lldb) target variable CRUSMax
591 // CHECK-NEXT: (const unsigned short &) CRUSMax = {{.*}} (&::CRUSMax = 65535)
592 const unsigned short &CRUSMin = USMin;
593 // CHECK-NEXT: (lldb) target variable CRUSMin
594 // CHECK-NEXT: (const unsigned short &) CRUSMin = {{.*}} (&::CRUSMin = 0)
595 const int &CRIMax = IMax;
596 // CHECK-NEXT: (lldb) target variable CRIMax
597 // CHECK-NEXT: (const int &) CRIMax = {{.*}} (&::CRIMax = 2147483647)
598 const int &CRIMin = IMin;
599 // CHECK-NEXT: (lldb) target variable CRIMin
600 // CHECK-NEXT: (const int &) CRIMin = {{.*}} (&::CRIMin = -2147483648)
601 const unsigned int &CRUIMax = UIMax;
602 // CHECK-NEXT: (lldb) target variable CRUIMax
603 // CHECK-NEXT: (const unsigned int &) CRUIMax = {{.*}} (&::CRUIMax = 4294967295)
604 const unsigned int &CRUIMin = UIMin;
605 // CHECK-NEXT: (lldb) target variable CRUIMin
606 // CHECK-NEXT: (const unsigned int &) CRUIMin = {{.*}} (&::CRUIMin = 0)
607 const long &CRLMax = LMax;
608 // CHECK-NEXT: (lldb) target variable CRLMax
609 // CHECK-NEXT: (const long &) CRLMax = {{.*}} (&::CRLMax = 2147483647)
610 const long &CRLMin = LMin;
611 // CHECK-NEXT: (lldb) target variable CRLMin
612 // CHECK-NEXT: (const long &) CRLMin = {{.*}} (&::CRLMin = -2147483648)
613 const unsigned long &CRULMax = ULMax;
614 // CHECK-NEXT: (lldb) target variable CRULMax
615 // CHECK-NEXT: (const unsigned long &) CRULMax = {{.*}} (&::CRULMax = 4294967295)
616 const unsigned long &CRULMin = ULMin;
617 // CHECK-NEXT: (lldb) target variable CRULMin
618 // CHECK-NEXT: (const unsigned long &) CRULMin = {{.*}} (&::CRULMin = 0)
619 const long long &CRLLMax = LLMax;
620 // CHECK-NEXT: (lldb) target variable CRLLMax
621 // CHECK-NEXT: (const long long &) CRLLMax = {{.*}} (&::CRLLMax = 9223372036854775807)
622 const long long &CRLLMin = LLMin;
623 // CHECK-NEXT: (lldb) target variable CRLLMin
624 // CHECK-NEXT: (const long long &) CRLLMin = {{.*}} (&::CRLLMin = -9223372036854775808)
625 const unsigned long long &CRULLMax = ULLMax;
626 // CHECK-NEXT: (lldb) target variable CRULLMax
627 // CHECK-NEXT: (const unsigned long long &) CRULLMax = {{.*}} (&::CRULLMax = 18446744073709551615)
628 const unsigned long long &CRULLMin = ULLMin;
629 // CHECK-NEXT: (lldb) target variable CRULLMin
630 // CHECK-NEXT: (const unsigned long long &) CRULLMin = {{.*}} (&::CRULLMin = 0)
631 const float &CRF = F;
632 // CHECK-NEXT: (lldb) target variable CRF
633 // CHECK-NEXT: (const float &) CRF = {{.*}} (&::CRF = 3.1415)
634 const double &CRD = D;
635 // CHECK-NEXT: (lldb) target variable CRD
636 // CHECK-NEXT: (const double &) CRD = {{.*}} (&::CRD = 3.1415000000000002)
637 
638 char16_t &RC16_24 = C16_24;
639 // CHECK: (lldb) target variable RC16_24
640 // FIXME: (char16_t &) RC16_24 = {{.*}} (&::RC16_24 = U+0014)
641 char32_t &RC32_42 = C32_42;
642 // CHECK: (lldb) target variable RC32_42
643 // FIXME: (char32_t &) RC32_42 = {{.*}} (&::RC32_42 = U+0x00000022)
644 wchar_t &RWC1 = WC1;
645 // CHECK: (lldb) target variable RWC1
646 // FIXME: (wchar_t &) RWC1 = {{.*}} (&::RWC1 = L'1')
647 wchar_t &RWCP = WCP;
648 // CHECK: (lldb) target variable RWCP
649 // FIXME: (wchar_t &) RWCP = {{.*}} (&::RWCP = L'P')
650 const char16_t &CRC16_24 = C16_24;
651 // CHECK: (lldb) target variable CRC16_24
652 // FIXME: (const char16_t &) CRC16_24 = {{.*}} (&::CRC16_24 = U+0014)
653 const char32_t &CRC32_42 = C32_42;
654 // CHECK: (lldb) target variable CRC32_42
655 // FIXME: (const char32_t &) CRC32_42 = {{.*}} (&::CRC32_42 = U+0x00000022)
656 const wchar_t &CRWC1 = WC1;
657 // CHECK: (lldb) target variable CRWC1
658 // FIXME: (const wchar_t &) CRWC1 = {{.*}} (&::CRWC1 = L'1')
659 const wchar_t &CRWCP = WCP;
660 // CHECK: (lldb) target variable CRWCP
661 // FIXME: (const wchar_t &) CRWCP = {{.*}} (&::CRWCP = L'P')
662 
663 
664 // CHECK:      TranslationUnitDecl {{.*}}
665 // CHECK-NEXT: |-VarDecl {{.*}} BFalse 'bool'
666 // CHECK-NEXT: |-VarDecl {{.*}} BTrue 'bool'
667 // CHECK-NEXT: |-VarDecl {{.*}} CA 'char'
668 // CHECK-NEXT: |-VarDecl {{.*}} CZ 'char'
669 // CHECK-NEXT: |-VarDecl {{.*}} SCa 'signed char'
670 // CHECK-NEXT: |-VarDecl {{.*}} SCz 'signed char'
671 // CHECK-NEXT: |-VarDecl {{.*}} UC24 'unsigned char'
672 // CHECK-NEXT: |-VarDecl {{.*}} UC42 'unsigned char'
673 // CHECK-NEXT: |-VarDecl {{.*}} C16_24 'char16_t'
674 // CHECK-NEXT: |-VarDecl {{.*}} C32_42 'char32_t'
675 // CHECK-NEXT: |-VarDecl {{.*}} WC1 'wchar_t'
676 // CHECK-NEXT: |-VarDecl {{.*}} WCP 'wchar_t'
677 // CHECK-NEXT: |-VarDecl {{.*}} SMax 'short'
678 // CHECK-NEXT: |-VarDecl {{.*}} SMin 'short'
679 // CHECK-NEXT: |-VarDecl {{.*}} USMax 'unsigned short'
680 // CHECK-NEXT: |-VarDecl {{.*}} USMin 'unsigned short'
681 // CHECK-NEXT: |-VarDecl {{.*}} IMax 'int'
682 // CHECK-NEXT: |-VarDecl {{.*}} IMin 'int'
683 // CHECK-NEXT: |-VarDecl {{.*}} UIMax 'unsigned int'
684 // CHECK-NEXT: |-VarDecl {{.*}} UIMin 'unsigned int'
685 // CHECK-NEXT: |-VarDecl {{.*}} LMax 'long'
686 // CHECK-NEXT: |-VarDecl {{.*}} LMin 'long'
687 // CHECK-NEXT: |-VarDecl {{.*}} ULMax 'unsigned long'
688 // CHECK-NEXT: |-VarDecl {{.*}} ULMin 'unsigned long'
689 // CHECK-NEXT: |-VarDecl {{.*}} LLMax 'long long'
690 // CHECK-NEXT: |-VarDecl {{.*}} LLMin 'long long'
691 // CHECK-NEXT: |-VarDecl {{.*}} ULLMax 'unsigned long long'
692 // CHECK-NEXT: |-VarDecl {{.*}} ULLMin 'unsigned long long'
693 // CHECK-NEXT: |-VarDecl {{.*}} F 'float'
694 // CHECK-NEXT: |-VarDecl {{.*}} D 'double'
695 // CHECK-NEXT: |-VarDecl {{.*}} CBFalse 'const bool'
696 // CHECK-NEXT: |-VarDecl {{.*}} CBTrue 'const bool'
697 // CHECK-NEXT: |-VarDecl {{.*}} CCA 'const char'
698 // CHECK-NEXT: |-VarDecl {{.*}} CCZ 'const char'
699 // CHECK-NEXT: |-VarDecl {{.*}} CSCa 'const signed char'
700 // CHECK-NEXT: |-VarDecl {{.*}} CSCz 'const signed char'
701 // CHECK-NEXT: |-VarDecl {{.*}} CUC24 'const unsigned char'
702 // CHECK-NEXT: |-VarDecl {{.*}} CUC42 'const unsigned char'
703 // CHECK-NEXT: |-VarDecl {{.*}} CC16_24 'const char16_t'
704 // CHECK-NEXT: |-VarDecl {{.*}} CC32_42 'const char32_t'
705 // CHECK-NEXT: |-VarDecl {{.*}} CWC1 'const wchar_t'
706 // CHECK-NEXT: |-VarDecl {{.*}} CWCP 'const wchar_t'
707 // CHECK-NEXT: |-VarDecl {{.*}} CSMax 'const short'
708 // CHECK-NEXT: |-VarDecl {{.*}} CSMin 'const short'
709 // CHECK-NEXT: |-VarDecl {{.*}} CUSMax 'const unsigned short'
710 // CHECK-NEXT: |-VarDecl {{.*}} CUSMin 'const unsigned short'
711 // CHECK-NEXT: |-VarDecl {{.*}} CIMax 'const int'
712 // CHECK-NEXT: |-VarDecl {{.*}} CIMin 'const int'
713 // CHECK-NEXT: |-VarDecl {{.*}} CUIMax 'const unsigned int'
714 // CHECK-NEXT: |-VarDecl {{.*}} CUIMin 'const unsigned int'
715 // CHECK-NEXT: |-VarDecl {{.*}} CLMax 'const long'
716 // CHECK-NEXT: |-VarDecl {{.*}} CLMin 'const long'
717 // CHECK-NEXT: |-VarDecl {{.*}} CULMax 'const unsigned long'
718 // CHECK-NEXT: |-VarDecl {{.*}} CULMin 'const unsigned long'
719 // CHECK-NEXT: |-VarDecl {{.*}} CLLMax 'const long long'
720 // CHECK-NEXT: |-VarDecl {{.*}} CLLMin 'const long long'
721 // CHECK-NEXT: |-VarDecl {{.*}} CULLMax 'const unsigned long long'
722 // CHECK-NEXT: |-VarDecl {{.*}} CULLMin 'const unsigned long long'
723 // CHECK-NEXT: |-VarDecl {{.*}} CF 'const float'
724 // CHECK-NEXT: |-VarDecl {{.*}} CD 'const double'
725 // CHECK-NEXT: |-VarDecl {{.*}} ConstexprBFalse 'const bool'
726 // CHECK-NEXT: |-VarDecl {{.*}} ConstexprBTrue 'const bool'
727 // CHECK-NEXT: |-VarDecl {{.*}} ConstexprCA 'const char'
728 // CHECK-NEXT: |-VarDecl {{.*}} ConstexprCZ 'const char'
729 // CHECK-NEXT: |-VarDecl {{.*}} ConstexprSCa 'const signed char'
730 // CHECK-NEXT: |-VarDecl {{.*}} ConstexprSCz 'const signed char'
731 // CHECK-NEXT: |-VarDecl {{.*}} ConstexprUC24 'const unsigned char'
732 // CHECK-NEXT: |-VarDecl {{.*}} ConstexprUC42 'const unsigned char'
733 // CHECK-NEXT: |-VarDecl {{.*}} ConstexprC16_24 'const char16_t'
734 // CHECK-NEXT: |-VarDecl {{.*}} ConstexprC32_42 'const char32_t'
735 // CHECK-NEXT: |-VarDecl {{.*}} ConstexprWC1 'const wchar_t'
736 // CHECK-NEXT: |-VarDecl {{.*}} ConstexprWCP 'const wchar_t'
737 // CHECK-NEXT: |-VarDecl {{.*}} ConstexprSMax 'const short'
738 // CHECK-NEXT: |-VarDecl {{.*}} ConstexprSMin 'const short'
739 // CHECK-NEXT: |-VarDecl {{.*}} ConstexprUSMax 'const unsigned short'
740 // CHECK-NEXT: |-VarDecl {{.*}} ConstexprUSMin 'const unsigned short'
741 // CHECK-NEXT: |-VarDecl {{.*}} ConstexprIMax 'const int'
742 // CHECK-NEXT: |-VarDecl {{.*}} ConstexprIMin 'const int'
743 // CHECK-NEXT: |-VarDecl {{.*}} ConstexprUIMax 'const unsigned int'
744 // CHECK-NEXT: |-VarDecl {{.*}} ConstexprUIMin 'const unsigned int'
745 // CHECK-NEXT: |-VarDecl {{.*}} ConstexprLMax 'const long'
746 // CHECK-NEXT: |-VarDecl {{.*}} ConstexprLMin 'const long'
747 // CHECK-NEXT: |-VarDecl {{.*}} ConstexprULMax 'const unsigned long'
748 // CHECK-NEXT: |-VarDecl {{.*}} ConstexprULMin 'const unsigned long'
749 // CHECK-NEXT: |-VarDecl {{.*}} ConstexprLLMax 'const long long'
750 // CHECK-NEXT: |-VarDecl {{.*}} ConstexprLLMin 'const long long'
751 // CHECK-NEXT: |-VarDecl {{.*}} ConstexprULLMax 'const unsigned long long'
752 // CHECK-NEXT: |-VarDecl {{.*}} ConstexprULLMin 'const unsigned long long'
753 // CHECK-NEXT: |-VarDecl {{.*}} ConstexprF 'const float'
754 // CHECK-NEXT: |-VarDecl {{.*}} ConstexprD 'const double'
755 // CHECK-NEXT: |-VarDecl {{.*}} PBFalse 'bool *'
756 // CHECK-NEXT: |-VarDecl {{.*}} PBTrue 'bool *'
757 // CHECK-NEXT: |-VarDecl {{.*}} PCA 'char *'
758 // CHECK-NEXT: |-VarDecl {{.*}} PCZ 'char *'
759 // CHECK-NEXT: |-VarDecl {{.*}} PSCa 'signed char *'
760 // CHECK-NEXT: |-VarDecl {{.*}} PSCz 'signed char *'
761 // CHECK-NEXT: |-VarDecl {{.*}} PUC24 'unsigned char *'
762 // CHECK-NEXT: |-VarDecl {{.*}} PUC42 'unsigned char *'
763 // CHECK-NEXT: |-VarDecl {{.*}} PC16_24 'char16_t *'
764 // CHECK-NEXT: |-VarDecl {{.*}} PC32_42 'char32_t *'
765 // CHECK-NEXT: |-VarDecl {{.*}} PWC1 'wchar_t *'
766 // CHECK-NEXT: |-VarDecl {{.*}} PWCP 'wchar_t *'
767 // CHECK-NEXT: |-VarDecl {{.*}} PSMax 'short *'
768 // CHECK-NEXT: |-VarDecl {{.*}} PSMin 'short *'
769 // CHECK-NEXT: |-VarDecl {{.*}} PUSMax 'unsigned short *'
770 // CHECK-NEXT: |-VarDecl {{.*}} PUSMin 'unsigned short *'
771 // CHECK-NEXT: |-VarDecl {{.*}} PIMax 'int *'
772 // CHECK-NEXT: |-VarDecl {{.*}} PIMin 'int *'
773 // CHECK-NEXT: |-VarDecl {{.*}} PUIMax 'unsigned int *'
774 // CHECK-NEXT: |-VarDecl {{.*}} PUIMin 'unsigned int *'
775 // CHECK-NEXT: |-VarDecl {{.*}} PLMax 'long *'
776 // CHECK-NEXT: |-VarDecl {{.*}} PLMin 'long *'
777 // CHECK-NEXT: |-VarDecl {{.*}} PULMax 'unsigned long *'
778 // CHECK-NEXT: |-VarDecl {{.*}} PULMin 'unsigned long *'
779 // CHECK-NEXT: |-VarDecl {{.*}} PLLMax 'long long *'
780 // CHECK-NEXT: |-VarDecl {{.*}} PLLMin 'long long *'
781 // CHECK-NEXT: |-VarDecl {{.*}} PULLMax 'unsigned long long *'
782 // CHECK-NEXT: |-VarDecl {{.*}} PULLMin 'unsigned long long *'
783 // CHECK-NEXT: |-VarDecl {{.*}} PF 'float *'
784 // CHECK-NEXT: |-VarDecl {{.*}} PD 'double *'
785 // CHECK-NEXT: |-VarDecl {{.*}} CPBFalse 'const bool *'
786 // CHECK-NEXT: |-VarDecl {{.*}} CPBTrue 'const bool *'
787 // CHECK-NEXT: |-VarDecl {{.*}} CPCA 'const char *'
788 // CHECK-NEXT: |-VarDecl {{.*}} CPCZ 'const char *'
789 // CHECK-NEXT: |-VarDecl {{.*}} CPSCa 'const signed char *'
790 // CHECK-NEXT: |-VarDecl {{.*}} CPSCz 'const signed char *'
791 // CHECK-NEXT: |-VarDecl {{.*}} CPUC24 'const unsigned char *'
792 // CHECK-NEXT: |-VarDecl {{.*}} CPUC42 'const unsigned char *'
793 // CHECK-NEXT: |-VarDecl {{.*}} CPC16_24 'const char16_t *'
794 // CHECK-NEXT: |-VarDecl {{.*}} CPC32_42 'const char32_t *'
795 // CHECK-NEXT: |-VarDecl {{.*}} CPWC1 'const wchar_t *'
796 // CHECK-NEXT: |-VarDecl {{.*}} CPWCP 'const wchar_t *'
797 // CHECK-NEXT: |-VarDecl {{.*}} CPSMax 'const short *'
798 // CHECK-NEXT: |-VarDecl {{.*}} CPSMin 'const short *'
799 // CHECK-NEXT: |-VarDecl {{.*}} CPUSMax 'const unsigned short *'
800 // CHECK-NEXT: |-VarDecl {{.*}} CPUSMin 'const unsigned short *'
801 // CHECK-NEXT: |-VarDecl {{.*}} CPIMax 'const int *'
802 // CHECK-NEXT: |-VarDecl {{.*}} CPIMin 'const int *'
803 // CHECK-NEXT: |-VarDecl {{.*}} CPUIMax 'const unsigned int *'
804 // CHECK-NEXT: |-VarDecl {{.*}} CPUIMin 'const unsigned int *'
805 // CHECK-NEXT: |-VarDecl {{.*}} CPLMax 'const long *'
806 // CHECK-NEXT: |-VarDecl {{.*}} CPLMin 'const long *'
807 // CHECK-NEXT: |-VarDecl {{.*}} CPULMax 'const unsigned long *'
808 // CHECK-NEXT: |-VarDecl {{.*}} CPULMin 'const unsigned long *'
809 // CHECK-NEXT: |-VarDecl {{.*}} CPLLMax 'const long long *'
810 // CHECK-NEXT: |-VarDecl {{.*}} CPLLMin 'const long long *'
811 // CHECK-NEXT: |-VarDecl {{.*}} CPULLMax 'const unsigned long long *'
812 // CHECK-NEXT: |-VarDecl {{.*}} CPULLMin 'const unsigned long long *'
813 // CHECK-NEXT: |-VarDecl {{.*}} CPF 'const float *'
814 // CHECK-NEXT: |-VarDecl {{.*}} CPD 'const double *'
815 // CHECK-NEXT: |-VarDecl {{.*}} RBFalse 'bool &'
816 // CHECK-NEXT: |-VarDecl {{.*}} RBTrue 'bool &'
817 // CHECK-NEXT: |-VarDecl {{.*}} RCA 'char &'
818 // CHECK-NEXT: |-VarDecl {{.*}} RCZ 'char &'
819 // CHECK-NEXT: |-VarDecl {{.*}} RSCa 'signed char &'
820 // CHECK-NEXT: |-VarDecl {{.*}} RSCz 'signed char &'
821 // CHECK-NEXT: |-VarDecl {{.*}} RUC24 'unsigned char &'
822 // CHECK-NEXT: |-VarDecl {{.*}} RUC42 'unsigned char &'
823 // CHECK-NEXT: |-VarDecl {{.*}} RSMax 'short &'
824 // CHECK-NEXT: |-VarDecl {{.*}} RSMin 'short &'
825 // CHECK-NEXT: |-VarDecl {{.*}} RUSMax 'unsigned short &'
826 // CHECK-NEXT: |-VarDecl {{.*}} RUSMin 'unsigned short &'
827 // CHECK-NEXT: |-VarDecl {{.*}} RIMax 'int &'
828 // CHECK-NEXT: |-VarDecl {{.*}} RIMin 'int &'
829 // CHECK-NEXT: |-VarDecl {{.*}} RUIMax 'unsigned int &'
830 // CHECK-NEXT: |-VarDecl {{.*}} RUIMin 'unsigned int &'
831 // CHECK-NEXT: |-VarDecl {{.*}} RLMax 'long &'
832 // CHECK-NEXT: |-VarDecl {{.*}} RLMin 'long &'
833 // CHECK-NEXT: |-VarDecl {{.*}} RULMax 'unsigned long &'
834 // CHECK-NEXT: |-VarDecl {{.*}} RULMin 'unsigned long &'
835 // CHECK-NEXT: |-VarDecl {{.*}} RLLMax 'long long &'
836 // CHECK-NEXT: |-VarDecl {{.*}} RLLMin 'long long &'
837 // CHECK-NEXT: |-VarDecl {{.*}} RULLMax 'unsigned long long &'
838 // CHECK-NEXT: |-VarDecl {{.*}} RULLMin 'unsigned long long &'
839 // CHECK-NEXT: |-VarDecl {{.*}} RF 'float &'
840 // CHECK-NEXT: |-VarDecl {{.*}} RD 'double &'
841 // CHECK-NEXT: |-VarDecl {{.*}} CRBFalse 'const bool &'
842 // CHECK-NEXT: |-VarDecl {{.*}} CRBTrue 'const bool &'
843 // CHECK-NEXT: |-VarDecl {{.*}} CRCA 'const char &'
844 // CHECK-NEXT: |-VarDecl {{.*}} CRCZ 'const char &'
845 // CHECK-NEXT: |-VarDecl {{.*}} CRSCa 'const signed char &'
846 // CHECK-NEXT: |-VarDecl {{.*}} CRSCz 'const signed char &'
847 // CHECK-NEXT: |-VarDecl {{.*}} CRUC24 'const unsigned char &'
848 // CHECK-NEXT: |-VarDecl {{.*}} CRUC42 'const unsigned char &'
849 // CHECK-NEXT: |-VarDecl {{.*}} CRSMax 'const short &'
850 // CHECK-NEXT: |-VarDecl {{.*}} CRSMin 'const short &'
851 // CHECK-NEXT: |-VarDecl {{.*}} CRUSMax 'const unsigned short &'
852 // CHECK-NEXT: |-VarDecl {{.*}} CRUSMin 'const unsigned short &'
853 // CHECK-NEXT: |-VarDecl {{.*}} CRIMax 'const int &'
854 // CHECK-NEXT: |-VarDecl {{.*}} CRIMin 'const int &'
855 // CHECK-NEXT: |-VarDecl {{.*}} CRUIMax 'const unsigned int &'
856 // CHECK-NEXT: |-VarDecl {{.*}} CRUIMin 'const unsigned int &'
857 // CHECK-NEXT: |-VarDecl {{.*}} CRLMax 'const long &'
858 // CHECK-NEXT: |-VarDecl {{.*}} CRLMin 'const long &'
859 // CHECK-NEXT: |-VarDecl {{.*}} CRULMax 'const unsigned long &'
860 // CHECK-NEXT: |-VarDecl {{.*}} CRULMin 'const unsigned long &'
861 // CHECK-NEXT: |-VarDecl {{.*}} CRLLMax 'const long long &'
862 // CHECK-NEXT: |-VarDecl {{.*}} CRLLMin 'const long long &'
863 // CHECK-NEXT: |-VarDecl {{.*}} CRULLMax 'const unsigned long long &'
864 // CHECK-NEXT: |-VarDecl {{.*}} CRULLMin 'const unsigned long long &'
865 // CHECK-NEXT: |-VarDecl {{.*}} CRF 'const float &'
866 // CHECK-NEXT: |-VarDecl {{.*}} CRD 'const double &'
867 // CHECK-NEXT: |-VarDecl {{.*}} RC16_24 'char16_t &'
868 // CHECK-NEXT: |-VarDecl {{.*}} RC32_42 'char32_t &'
869 // CHECK-NEXT: |-VarDecl {{.*}} RWC1 'wchar_t &'
870 // CHECK-NEXT: |-VarDecl {{.*}} RWCP 'wchar_t &'
871 // CHECK-NEXT: |-VarDecl {{.*}} CRC16_24 'const char16_t &'
872 // CHECK-NEXT: |-VarDecl {{.*}} CRC32_42 'const char32_t &'
873 // CHECK-NEXT: |-VarDecl {{.*}} CRWC1 'const wchar_t &'
874 // CHECK-NEXT: `-VarDecl {{.*}} CRWCP 'const wchar_t &'
875 
876 // CHECK: (lldb) quit
877 
878 int main(int argc, char **argv) {
879   return CIMax;
880 }
881