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

source code of lldb/test/Shell/SymbolFile/NativePDB/globals-fundamental.cpp