OSDN Git Service

[PDB] Make the native reader support enumerators.
[android-x86/external-llvm.git] / test / DebugInfo / PDB / Native / pdb-native-enums.test
1 ; Test that the native PDB reader can enumerate the enum types.  The output
2 ; being checked against is golden output generated by llvm-pdbutil without
3 ; the -native flag.  Then we check that we generate the same output.
4 ; Unfortunately since we generate a slightly different (albeit correct)
5 ; class / parent hierarchy, if you re-generate this file you will need to
6 ; actually use the output from llvm-pdbutil *with* the -native flag, but
7 ; before "blessing" it, manually diff against the golden output from
8 ; llvm-pdbutil without the -native flag and verifying that there are no
9 ; substantive differences aside from the various symbol ids.
10
11 ; RUN: llvm-pdbutil pretty -native -enums %p/../Inputs/every-enum.pdb \
12 ; RUN:   | FileCheck -check-prefix=ENUMS %s
13 ; RUN: llvm-pdbutil diadump -native -enums %p/../Inputs/every-enum.pdb \
14 ; RUN:   | FileCheck -check-prefix=DUMP %s
15
16
17 ENUMS: enum I8 : char {
18 ENUMS:   I8A = -128
19 ENUMS:   I8B = 0
20 ENUMS:   I8C = 127
21 ENUMS: }
22 ENUMS: enum I16 : short {
23 ENUMS:   I16A = -32768
24 ENUMS:   I16B = 0
25 ENUMS:   I16C = 32767
26 ENUMS: }
27 ENUMS: enum I32 {
28 ENUMS:   I32A = -2147483648
29 ENUMS:   I32B = 0
30 ENUMS:   I32C = 2147483647
31 ENUMS: }
32 ENUMS: enum I64 : __int64 {
33 ENUMS:   I64A = -9223372036854775808
34 ENUMS:   I64B = 0
35 ENUMS:   I64C = 9223372036854775807
36 ENUMS: }
37 ENUMS: enum U8 : unsigned char {
38 ENUMS:   U8A = 0
39 ENUMS:   U8B = 255
40 ENUMS: }
41 ENUMS: enum U16 : unsigned short {
42 ENUMS:   U16A = 0
43 ENUMS:   U16B = 65535
44 ENUMS: }
45 ENUMS: enum U32 : unsigned int {
46 ENUMS:   U32A = 0
47 ENUMS:   U32B = 4294967295
48 ENUMS: }
49 ENUMS: enum U64 : unsigned __int64 {
50 ENUMS:   U64A = 0
51 ; FIXME: This should be UINT64_MAX.  Is the compiler encoding it wrong or
52 ; are we decoding it wrong?
53 ENUMS:   U64B = 255
54 ENUMS: }
55 ENUMS: enum Char16 : unsigned short {
56 ENUMS:   C16A = 97
57 ENUMS:   C16B = 98
58 ENUMS: }
59 ENUMS: enum Char32 : unsigned int {
60 ENUMS:   C32A = 97
61 ENUMS:   C32B = 98
62 ENUMS: }
63 ENUMS: enum WChar : unsigned short {
64 ENUMS:   WCA = 97
65 ENUMS:   WCB = 98
66 ENUMS: }
67 ENUMS: enum Bool : bool {
68 ENUMS:   BA = true
69 ENUMS:   BB = false
70 ENUMS: }
71 ENUMS: enum EC {
72 ENUMS:   A = 1
73 ENUMS:   B = 2
74 ENUMS: }
75 ENUMS: enum Struct::Nested {
76 ENUMS:   A = 1
77 ENUMS:   B = 2
78 ENUMS: }
79 ENUMS: const volatile enum EC
80
81
82 DUMP: {
83 DUMP:   symIndexId: 2
84 DUMP:   symTag: 12
85 DUMP:   baseType: 2
86 DUMP:   lexicalParentId: 0
87 DUMP:   name: I8
88 DUMP:   typeId: 3
89 DUMP:   length: 1
90 DUMP:   constructor: 0
91 DUMP:   constType: 0
92 DUMP:   hasAssignmentOperator: 0
93 DUMP:   hasCastOperator: 0
94 DUMP:   hasNestedTypes: 0
95 DUMP:   overloadedOperator: 0
96 DUMP:   isInterfaceUdt: 0
97 DUMP:   intrinsic: 0
98 DUMP:   nested: 0
99 DUMP:   packed: 0
100 DUMP:   isRefUdt: 0
101 DUMP:   scoped: 0
102 DUMP:   unalignedType: 0
103 DUMP:   isValueUdt: 0
104 DUMP:   volatileType: 0
105 DUMP:   {
106 DUMP:     symIndexId: 4
107 DUMP:     symTag: 7
108 DUMP:     classParentId: 2
109 DUMP:     lexicalParentId: 0
110 DUMP:     name: I8A
111 DUMP:     typeId: 3
112 DUMP:     dataKind: const
113 DUMP:     locationType: constant
114 DUMP:     constType: 0
115 DUMP:     unalignedType: 0
116 DUMP:     volatileType: 0
117 DUMP:     value: -128
118 DUMP:   }
119 DUMP:   {
120 DUMP:     symIndexId: 5
121 DUMP:     symTag: 7
122 DUMP:     classParentId: 2
123 DUMP:     lexicalParentId: 0
124 DUMP:     name: I8B
125 DUMP:     typeId: 3
126 DUMP:     dataKind: const
127 DUMP:     locationType: constant
128 DUMP:     constType: 0
129 DUMP:     unalignedType: 0
130 DUMP:     volatileType: 0
131 DUMP:     value: 0
132 DUMP:   }
133 DUMP:   {
134 DUMP:     symIndexId: 6
135 DUMP:     symTag: 7
136 DUMP:     classParentId: 2
137 DUMP:     lexicalParentId: 0
138 DUMP:     name: I8C
139 DUMP:     typeId: 3
140 DUMP:     dataKind: const
141 DUMP:     locationType: constant
142 DUMP:     constType: 0
143 DUMP:     unalignedType: 0
144 DUMP:     volatileType: 0
145 DUMP:     value: 127
146 DUMP:   }
147 DUMP: }
148 DUMP: {
149 DUMP:   symIndexId: 7
150 DUMP:   symTag: 12
151 DUMP:   baseType: 6
152 DUMP:   lexicalParentId: 0
153 DUMP:   name: I16
154 DUMP:   typeId: 8
155 DUMP:   length: 2
156 DUMP:   constructor: 0
157 DUMP:   constType: 0
158 DUMP:   hasAssignmentOperator: 0
159 DUMP:   hasCastOperator: 0
160 DUMP:   hasNestedTypes: 0
161 DUMP:   overloadedOperator: 0
162 DUMP:   isInterfaceUdt: 0
163 DUMP:   intrinsic: 0
164 DUMP:   nested: 0
165 DUMP:   packed: 0
166 DUMP:   isRefUdt: 0
167 DUMP:   scoped: 0
168 DUMP:   unalignedType: 0
169 DUMP:   isValueUdt: 0
170 DUMP:   volatileType: 0
171 DUMP:   {
172 DUMP:     symIndexId: 9
173 DUMP:     symTag: 7
174 DUMP:     classParentId: 7
175 DUMP:     lexicalParentId: 0
176 DUMP:     name: I16A
177 DUMP:     typeId: 8
178 DUMP:     dataKind: const
179 DUMP:     locationType: constant
180 DUMP:     constType: 0
181 DUMP:     unalignedType: 0
182 DUMP:     volatileType: 0
183 DUMP:     value: -32768
184 DUMP:   }
185 DUMP:   {
186 DUMP:     symIndexId: 10
187 DUMP:     symTag: 7
188 DUMP:     classParentId: 7
189 DUMP:     lexicalParentId: 0
190 DUMP:     name: I16B
191 DUMP:     typeId: 8
192 DUMP:     dataKind: const
193 DUMP:     locationType: constant
194 DUMP:     constType: 0
195 DUMP:     unalignedType: 0
196 DUMP:     volatileType: 0
197 DUMP:     value: 0
198 DUMP:   }
199 DUMP:   {
200 DUMP:     symIndexId: 11
201 DUMP:     symTag: 7
202 DUMP:     classParentId: 7
203 DUMP:     lexicalParentId: 0
204 DUMP:     name: I16C
205 DUMP:     typeId: 8
206 DUMP:     dataKind: const
207 DUMP:     locationType: constant
208 DUMP:     constType: 0
209 DUMP:     unalignedType: 0
210 DUMP:     volatileType: 0
211 DUMP:     value: 32767
212 DUMP:   }
213 DUMP: }
214 DUMP: {
215 DUMP:   symIndexId: 12
216 DUMP:   symTag: 12
217 DUMP:   baseType: 6
218 DUMP:   lexicalParentId: 0
219 DUMP:   name: I32
220 DUMP:   typeId: 13
221 DUMP:   length: 4
222 DUMP:   constructor: 0
223 DUMP:   constType: 0
224 DUMP:   hasAssignmentOperator: 0
225 DUMP:   hasCastOperator: 0
226 DUMP:   hasNestedTypes: 0
227 DUMP:   overloadedOperator: 0
228 DUMP:   isInterfaceUdt: 0
229 DUMP:   intrinsic: 0
230 DUMP:   nested: 0
231 DUMP:   packed: 0
232 DUMP:   isRefUdt: 0
233 DUMP:   scoped: 0
234 DUMP:   unalignedType: 0
235 DUMP:   isValueUdt: 0
236 DUMP:   volatileType: 0
237 DUMP:   {
238 DUMP:     symIndexId: 14
239 DUMP:     symTag: 7
240 DUMP:     classParentId: 12
241 DUMP:     lexicalParentId: 0
242 DUMP:     name: I32A
243 DUMP:     typeId: 13
244 DUMP:     dataKind: const
245 DUMP:     locationType: constant
246 DUMP:     constType: 0
247 DUMP:     unalignedType: 0
248 DUMP:     volatileType: 0
249 DUMP:     value: -2147483648
250 DUMP:   }
251 DUMP:   {
252 DUMP:     symIndexId: 15
253 DUMP:     symTag: 7
254 DUMP:     classParentId: 12
255 DUMP:     lexicalParentId: 0
256 DUMP:     name: I32B
257 DUMP:     typeId: 13
258 DUMP:     dataKind: const
259 DUMP:     locationType: constant
260 DUMP:     constType: 0
261 DUMP:     unalignedType: 0
262 DUMP:     volatileType: 0
263 DUMP:     value: 0
264 DUMP:   }
265 DUMP:   {
266 DUMP:     symIndexId: 16
267 DUMP:     symTag: 7
268 DUMP:     classParentId: 12
269 DUMP:     lexicalParentId: 0
270 DUMP:     name: I32C
271 DUMP:     typeId: 13
272 DUMP:     dataKind: const
273 DUMP:     locationType: constant
274 DUMP:     constType: 0
275 DUMP:     unalignedType: 0
276 DUMP:     volatileType: 0
277 DUMP:     value: 2147483647
278 DUMP:   }
279 DUMP: }
280 DUMP: {
281 DUMP:   symIndexId: 17
282 DUMP:   symTag: 12
283 DUMP:   baseType: 6
284 DUMP:   lexicalParentId: 0
285 DUMP:   name: I64
286 DUMP:   typeId: 18
287 DUMP:   length: 8
288 DUMP:   constructor: 0
289 DUMP:   constType: 0
290 DUMP:   hasAssignmentOperator: 0
291 DUMP:   hasCastOperator: 0
292 DUMP:   hasNestedTypes: 0
293 DUMP:   overloadedOperator: 0
294 DUMP:   isInterfaceUdt: 0
295 DUMP:   intrinsic: 0
296 DUMP:   nested: 0
297 DUMP:   packed: 0
298 DUMP:   isRefUdt: 0
299 DUMP:   scoped: 0
300 DUMP:   unalignedType: 0
301 DUMP:   isValueUdt: 0
302 DUMP:   volatileType: 0
303 DUMP:   {
304 DUMP:     symIndexId: 19
305 DUMP:     symTag: 7
306 DUMP:     classParentId: 17
307 DUMP:     lexicalParentId: 0
308 DUMP:     name: I64A
309 DUMP:     typeId: 18
310 DUMP:     dataKind: const
311 DUMP:     locationType: constant
312 DUMP:     constType: 0
313 DUMP:     unalignedType: 0
314 DUMP:     volatileType: 0
315 DUMP:     value: -9223372036854775808
316 DUMP:   }
317 DUMP:   {
318 DUMP:     symIndexId: 20
319 DUMP:     symTag: 7
320 DUMP:     classParentId: 17
321 DUMP:     lexicalParentId: 0
322 DUMP:     name: I64B
323 DUMP:     typeId: 18
324 DUMP:     dataKind: const
325 DUMP:     locationType: constant
326 DUMP:     constType: 0
327 DUMP:     unalignedType: 0
328 DUMP:     volatileType: 0
329 DUMP:     value: 0
330 DUMP:   }
331 DUMP:   {
332 DUMP:     symIndexId: 21
333 DUMP:     symTag: 7
334 DUMP:     classParentId: 17
335 DUMP:     lexicalParentId: 0
336 DUMP:     name: I64C
337 DUMP:     typeId: 18
338 DUMP:     dataKind: const
339 DUMP:     locationType: constant
340 DUMP:     constType: 0
341 DUMP:     unalignedType: 0
342 DUMP:     volatileType: 0
343 DUMP:     value: 9223372036854775807
344 DUMP:   }
345 DUMP: }
346 DUMP: {
347 DUMP:   symIndexId: 22
348 DUMP:   symTag: 12
349 DUMP:   baseType: 2
350 DUMP:   lexicalParentId: 0
351 DUMP:   name: U8
352 DUMP:   typeId: 23
353 DUMP:   length: 1
354 DUMP:   constructor: 0
355 DUMP:   constType: 0
356 DUMP:   hasAssignmentOperator: 0
357 DUMP:   hasCastOperator: 0
358 DUMP:   hasNestedTypes: 0
359 DUMP:   overloadedOperator: 0
360 DUMP:   isInterfaceUdt: 0
361 DUMP:   intrinsic: 0
362 DUMP:   nested: 0
363 DUMP:   packed: 0
364 DUMP:   isRefUdt: 0
365 DUMP:   scoped: 0
366 DUMP:   unalignedType: 0
367 DUMP:   isValueUdt: 0
368 DUMP:   volatileType: 0
369 DUMP:   {
370 DUMP:     symIndexId: 24
371 DUMP:     symTag: 7
372 DUMP:     classParentId: 22
373 DUMP:     lexicalParentId: 0
374 DUMP:     name: U8A
375 DUMP:     typeId: 23
376 DUMP:     dataKind: const
377 DUMP:     locationType: constant
378 DUMP:     constType: 0
379 DUMP:     unalignedType: 0
380 DUMP:     volatileType: 0
381 DUMP:     value: 0
382 DUMP:   }
383 DUMP:   {
384 DUMP:     symIndexId: 25
385 DUMP:     symTag: 7
386 DUMP:     classParentId: 22
387 DUMP:     lexicalParentId: 0
388 DUMP:     name: U8B
389 DUMP:     typeId: 23
390 DUMP:     dataKind: const
391 DUMP:     locationType: constant
392 DUMP:     constType: 0
393 DUMP:     unalignedType: 0
394 DUMP:     volatileType: 0
395 DUMP:     value: 255
396 DUMP:   }
397 DUMP: }
398 DUMP: {
399 DUMP:   symIndexId: 26
400 DUMP:   symTag: 12
401 DUMP:   baseType: 7
402 DUMP:   lexicalParentId: 0
403 DUMP:   name: U16
404 DUMP:   typeId: 27
405 DUMP:   length: 2
406 DUMP:   constructor: 0
407 DUMP:   constType: 0
408 DUMP:   hasAssignmentOperator: 0
409 DUMP:   hasCastOperator: 0
410 DUMP:   hasNestedTypes: 0
411 DUMP:   overloadedOperator: 0
412 DUMP:   isInterfaceUdt: 0
413 DUMP:   intrinsic: 0
414 DUMP:   nested: 0
415 DUMP:   packed: 0
416 DUMP:   isRefUdt: 0
417 DUMP:   scoped: 0
418 DUMP:   unalignedType: 0
419 DUMP:   isValueUdt: 0
420 DUMP:   volatileType: 0
421 DUMP:   {
422 DUMP:     symIndexId: 28
423 DUMP:     symTag: 7
424 DUMP:     classParentId: 26
425 DUMP:     lexicalParentId: 0
426 DUMP:     name: U16A
427 DUMP:     typeId: 27
428 DUMP:     dataKind: const
429 DUMP:     locationType: constant
430 DUMP:     constType: 0
431 DUMP:     unalignedType: 0
432 DUMP:     volatileType: 0
433 DUMP:     value: 0
434 DUMP:   }
435 DUMP:   {
436 DUMP:     symIndexId: 29
437 DUMP:     symTag: 7
438 DUMP:     classParentId: 26
439 DUMP:     lexicalParentId: 0
440 DUMP:     name: U16B
441 DUMP:     typeId: 27
442 DUMP:     dataKind: const
443 DUMP:     locationType: constant
444 DUMP:     constType: 0
445 DUMP:     unalignedType: 0
446 DUMP:     volatileType: 0
447 DUMP:     value: 65535
448 DUMP:   }
449 DUMP: }
450 DUMP: {
451 DUMP:   symIndexId: 30
452 DUMP:   symTag: 12
453 DUMP:   baseType: 7
454 DUMP:   lexicalParentId: 0
455 DUMP:   name: U32
456 DUMP:   typeId: 31
457 DUMP:   length: 4
458 DUMP:   constructor: 0
459 DUMP:   constType: 0
460 DUMP:   hasAssignmentOperator: 0
461 DUMP:   hasCastOperator: 0
462 DUMP:   hasNestedTypes: 0
463 DUMP:   overloadedOperator: 0
464 DUMP:   isInterfaceUdt: 0
465 DUMP:   intrinsic: 0
466 DUMP:   nested: 0
467 DUMP:   packed: 0
468 DUMP:   isRefUdt: 0
469 DUMP:   scoped: 0
470 DUMP:   unalignedType: 0
471 DUMP:   isValueUdt: 0
472 DUMP:   volatileType: 0
473 DUMP:   {
474 DUMP:     symIndexId: 32
475 DUMP:     symTag: 7
476 DUMP:     classParentId: 30
477 DUMP:     lexicalParentId: 0
478 DUMP:     name: U32A
479 DUMP:     typeId: 31
480 DUMP:     dataKind: const
481 DUMP:     locationType: constant
482 DUMP:     constType: 0
483 DUMP:     unalignedType: 0
484 DUMP:     volatileType: 0
485 DUMP:     value: 0
486 DUMP:   }
487 DUMP:   {
488 DUMP:     symIndexId: 33
489 DUMP:     symTag: 7
490 DUMP:     classParentId: 30
491 DUMP:     lexicalParentId: 0
492 DUMP:     name: U32B
493 DUMP:     typeId: 31
494 DUMP:     dataKind: const
495 DUMP:     locationType: constant
496 DUMP:     constType: 0
497 DUMP:     unalignedType: 0
498 DUMP:     volatileType: 0
499 DUMP:     value: 4294967295
500 DUMP:   }
501 DUMP: }
502 DUMP: {
503 DUMP:   symIndexId: 34
504 DUMP:   symTag: 12
505 DUMP:   baseType: 7
506 DUMP:   lexicalParentId: 0
507 DUMP:   name: U64
508 DUMP:   typeId: 35
509 DUMP:   length: 8
510 DUMP:   constructor: 0
511 DUMP:   constType: 0
512 DUMP:   hasAssignmentOperator: 0
513 DUMP:   hasCastOperator: 0
514 DUMP:   hasNestedTypes: 0
515 DUMP:   overloadedOperator: 0
516 DUMP:   isInterfaceUdt: 0
517 DUMP:   intrinsic: 0
518 DUMP:   nested: 0
519 DUMP:   packed: 0
520 DUMP:   isRefUdt: 0
521 DUMP:   scoped: 0
522 DUMP:   unalignedType: 0
523 DUMP:   isValueUdt: 0
524 DUMP:   volatileType: 0
525 DUMP:   {
526 DUMP:     symIndexId: 36
527 DUMP:     symTag: 7
528 DUMP:     classParentId: 34
529 DUMP:     lexicalParentId: 0
530 DUMP:     name: U64A
531 DUMP:     typeId: 35
532 DUMP:     dataKind: const
533 DUMP:     locationType: constant
534 DUMP:     constType: 0
535 DUMP:     unalignedType: 0
536 DUMP:     volatileType: 0
537 DUMP:     value: 0
538 DUMP:   }
539 DUMP:   {
540 DUMP:     symIndexId: 37
541 DUMP:     symTag: 7
542 DUMP:     classParentId: 34
543 DUMP:     lexicalParentId: 0
544 DUMP:     name: U64B
545 DUMP:     typeId: 35
546 DUMP:     dataKind: const
547 DUMP:     locationType: constant
548 DUMP:     constType: 0
549 DUMP:     unalignedType: 0
550 DUMP:     volatileType: 0
551 DUMP:     value: 255
552 DUMP:   }
553 DUMP: }
554 DUMP: {
555 DUMP:   symIndexId: 38
556 DUMP:   symTag: 12
557 DUMP:   baseType: 7
558 DUMP:   lexicalParentId: 0
559 DUMP:   name: Char16
560 DUMP:   typeId: 27
561 DUMP:   length: 2
562 DUMP:   constructor: 0
563 DUMP:   constType: 0
564 DUMP:   hasAssignmentOperator: 0
565 DUMP:   hasCastOperator: 0
566 DUMP:   hasNestedTypes: 0
567 DUMP:   overloadedOperator: 0
568 DUMP:   isInterfaceUdt: 0
569 DUMP:   intrinsic: 0
570 DUMP:   nested: 0
571 DUMP:   packed: 0
572 DUMP:   isRefUdt: 0
573 DUMP:   scoped: 0
574 DUMP:   unalignedType: 0
575 DUMP:   isValueUdt: 0
576 DUMP:   volatileType: 0
577 DUMP:   {
578 DUMP:     symIndexId: 39
579 DUMP:     symTag: 7
580 DUMP:     classParentId: 38
581 DUMP:     lexicalParentId: 0
582 DUMP:     name: C16A
583 DUMP:     typeId: 27
584 DUMP:     dataKind: const
585 DUMP:     locationType: constant
586 DUMP:     constType: 0
587 DUMP:     unalignedType: 0
588 DUMP:     volatileType: 0
589 DUMP:     value: 97
590 DUMP:   }
591 DUMP:   {
592 DUMP:     symIndexId: 40
593 DUMP:     symTag: 7
594 DUMP:     classParentId: 38
595 DUMP:     lexicalParentId: 0
596 DUMP:     name: C16B
597 DUMP:     typeId: 27
598 DUMP:     dataKind: const
599 DUMP:     locationType: constant
600 DUMP:     constType: 0
601 DUMP:     unalignedType: 0
602 DUMP:     volatileType: 0
603 DUMP:     value: 98
604 DUMP:   }
605 DUMP: }
606 DUMP: {
607 DUMP:   symIndexId: 41
608 DUMP:   symTag: 12
609 DUMP:   baseType: 7
610 DUMP:   lexicalParentId: 0
611 DUMP:   name: Char32
612 DUMP:   typeId: 42
613 DUMP:   length: 4
614 DUMP:   constructor: 0
615 DUMP:   constType: 0
616 DUMP:   hasAssignmentOperator: 0
617 DUMP:   hasCastOperator: 0
618 DUMP:   hasNestedTypes: 0
619 DUMP:   overloadedOperator: 0
620 DUMP:   isInterfaceUdt: 0
621 DUMP:   intrinsic: 0
622 DUMP:   nested: 0
623 DUMP:   packed: 0
624 DUMP:   isRefUdt: 0
625 DUMP:   scoped: 0
626 DUMP:   unalignedType: 0
627 DUMP:   isValueUdt: 0
628 DUMP:   volatileType: 0
629 DUMP:   {
630 DUMP:     symIndexId: 43
631 DUMP:     symTag: 7
632 DUMP:     classParentId: 41
633 DUMP:     lexicalParentId: 0
634 DUMP:     name: C32A
635 DUMP:     typeId: 42
636 DUMP:     dataKind: const
637 DUMP:     locationType: constant
638 DUMP:     constType: 0
639 DUMP:     unalignedType: 0
640 DUMP:     volatileType: 0
641 DUMP:     value: 97
642 DUMP:   }
643 DUMP:   {
644 DUMP:     symIndexId: 44
645 DUMP:     symTag: 7
646 DUMP:     classParentId: 41
647 DUMP:     lexicalParentId: 0
648 DUMP:     name: C32B
649 DUMP:     typeId: 42
650 DUMP:     dataKind: const
651 DUMP:     locationType: constant
652 DUMP:     constType: 0
653 DUMP:     unalignedType: 0
654 DUMP:     volatileType: 0
655 DUMP:     value: 98
656 DUMP:   }
657 DUMP: }
658 DUMP: {
659 DUMP:   symIndexId: 45
660 DUMP:   symTag: 12
661 DUMP:   baseType: 7
662 DUMP:   lexicalParentId: 0
663 DUMP:   name: WChar
664 DUMP:   typeId: 27
665 DUMP:   length: 2
666 DUMP:   constructor: 0
667 DUMP:   constType: 0
668 DUMP:   hasAssignmentOperator: 0
669 DUMP:   hasCastOperator: 0
670 DUMP:   hasNestedTypes: 0
671 DUMP:   overloadedOperator: 0
672 DUMP:   isInterfaceUdt: 0
673 DUMP:   intrinsic: 0
674 DUMP:   nested: 0
675 DUMP:   packed: 0
676 DUMP:   isRefUdt: 0
677 DUMP:   scoped: 0
678 DUMP:   unalignedType: 0
679 DUMP:   isValueUdt: 0
680 DUMP:   volatileType: 0
681 DUMP:   {
682 DUMP:     symIndexId: 46
683 DUMP:     symTag: 7
684 DUMP:     classParentId: 45
685 DUMP:     lexicalParentId: 0
686 DUMP:     name: WCA
687 DUMP:     typeId: 27
688 DUMP:     dataKind: const
689 DUMP:     locationType: constant
690 DUMP:     constType: 0
691 DUMP:     unalignedType: 0
692 DUMP:     volatileType: 0
693 DUMP:     value: 97
694 DUMP:   }
695 DUMP:   {
696 DUMP:     symIndexId: 47
697 DUMP:     symTag: 7
698 DUMP:     classParentId: 45
699 DUMP:     lexicalParentId: 0
700 DUMP:     name: WCB
701 DUMP:     typeId: 27
702 DUMP:     dataKind: const
703 DUMP:     locationType: constant
704 DUMP:     constType: 0
705 DUMP:     unalignedType: 0
706 DUMP:     volatileType: 0
707 DUMP:     value: 98
708 DUMP:   }
709 DUMP: }
710 DUMP: {
711 DUMP:   symIndexId: 48
712 DUMP:   symTag: 12
713 DUMP:   baseType: 10
714 DUMP:   lexicalParentId: 0
715 DUMP:   name: Bool
716 DUMP:   typeId: 49
717 DUMP:   length: 1
718 DUMP:   constructor: 0
719 DUMP:   constType: 0
720 DUMP:   hasAssignmentOperator: 0
721 DUMP:   hasCastOperator: 0
722 DUMP:   hasNestedTypes: 0
723 DUMP:   overloadedOperator: 0
724 DUMP:   isInterfaceUdt: 0
725 DUMP:   intrinsic: 0
726 DUMP:   nested: 0
727 DUMP:   packed: 0
728 DUMP:   isRefUdt: 0
729 DUMP:   scoped: 0
730 DUMP:   unalignedType: 0
731 DUMP:   isValueUdt: 0
732 DUMP:   volatileType: 0
733 DUMP:   {
734 DUMP:     symIndexId: 50
735 DUMP:     symTag: 7
736 DUMP:     classParentId: 48
737 DUMP:     lexicalParentId: 0
738 DUMP:     name: BA
739 DUMP:     typeId: 49
740 DUMP:     dataKind: const
741 DUMP:     locationType: constant
742 DUMP:     constType: 0
743 DUMP:     unalignedType: 0
744 DUMP:     volatileType: 0
745 DUMP:     value: true
746 DUMP:   }
747 DUMP:   {
748 DUMP:     symIndexId: 51
749 DUMP:     symTag: 7
750 DUMP:     classParentId: 48
751 DUMP:     lexicalParentId: 0
752 DUMP:     name: BB
753 DUMP:     typeId: 49
754 DUMP:     dataKind: const
755 DUMP:     locationType: constant
756 DUMP:     constType: 0
757 DUMP:     unalignedType: 0
758 DUMP:     volatileType: 0
759 DUMP:     value: false
760 DUMP:   }
761 DUMP: {
762 DUMP:   symIndexId: 113
763 DUMP:   symTag: 12
764 DUMP:   baseType: 6
765 DUMP:   lexicalParentId: 0
766 DUMP:   name: EC
767 DUMP:   typeId: 13
768 DUMP:   length: 4
769 DUMP:   constructor: 0
770 DUMP:   constType: 0
771 DUMP:   hasAssignmentOperator: 0
772 DUMP:   hasCastOperator: 0
773 DUMP:   hasNestedTypes: 0
774 DUMP:   overloadedOperator: 0
775 DUMP:   isInterfaceUdt: 0
776 DUMP:   intrinsic: 0
777 DUMP:   nested: 0
778 DUMP:   packed: 0
779 DUMP:   isRefUdt: 0
780 DUMP:   scoped: 0
781 DUMP:   unalignedType: 0
782 DUMP:   isValueUdt: 0
783 DUMP:   volatileType: 0
784 DUMP:   {
785 DUMP:     symIndexId: 114
786 DUMP:     symTag: 7
787 DUMP:     classParentId: 113
788 DUMP:     lexicalParentId: 0
789 DUMP:     name: A
790 DUMP:     typeId: 13
791 DUMP:     dataKind: const
792 DUMP:     locationType: constant
793 DUMP:     constType: 0
794 DUMP:     unalignedType: 0
795 DUMP:     volatileType: 0
796 DUMP:     value: 1
797 DUMP:   }
798 DUMP:   {
799 DUMP:     symIndexId: 115
800 DUMP:     symTag: 7
801 DUMP:     classParentId: 113
802 DUMP:     lexicalParentId: 0
803 DUMP:     name: B
804 DUMP:     typeId: 13
805 DUMP:     dataKind: const
806 DUMP:     locationType: constant
807 DUMP:     constType: 0
808 DUMP:     unalignedType: 0
809 DUMP:     volatileType: 0
810 DUMP:     value: 2
811 DUMP:   }
812 DUMP: }
813 DUMP: {
814 DUMP:   symIndexId: 116
815 DUMP:   symTag: 12
816 DUMP:   baseType: 6
817 DUMP:   lexicalParentId: 0
818 DUMP:   name: Struct::Nested
819 DUMP:   typeId: 13
820 DUMP:   length: 4
821 DUMP:   constructor: 0
822 DUMP:   constType: 0
823 DUMP:   hasAssignmentOperator: 0
824 DUMP:   hasCastOperator: 0
825 DUMP:   hasNestedTypes: 0
826 DUMP:   overloadedOperator: 0
827 DUMP:   isInterfaceUdt: 0
828 DUMP:   intrinsic: 0
829 DUMP:   nested: 1
830 DUMP:   packed: 0
831 DUMP:   isRefUdt: 0
832 DUMP:   scoped: 0
833 DUMP:   unalignedType: 0
834 DUMP:   isValueUdt: 0
835 DUMP:   volatileType: 0
836 DUMP:   {
837 DUMP:     symIndexId: 114
838 DUMP:     symTag: 7
839 DUMP:     classParentId: 113
840 DUMP:     lexicalParentId: 0
841 DUMP:     name: A
842 DUMP:     typeId: 13
843 DUMP:     dataKind: const
844 DUMP:     locationType: constant
845 DUMP:     constType: 0
846 DUMP:     unalignedType: 0
847 DUMP:     volatileType: 0
848 DUMP:     value: 1
849 DUMP:   }
850 DUMP:   {
851 DUMP:     symIndexId: 115
852 DUMP:     symTag: 7
853 DUMP:     classParentId: 113
854 DUMP:     lexicalParentId: 0
855 DUMP:     name: B
856 DUMP:     typeId: 13
857 DUMP:     dataKind: const
858 DUMP:     locationType: constant
859 DUMP:     constType: 0
860 DUMP:     unalignedType: 0
861 DUMP:     volatileType: 0
862 DUMP:     value: 2
863 DUMP:   }
864 DUMP: }
865 DUMP: {
866 DUMP:   symIndexId: 117
867 DUMP:   symTag: 12
868 DUMP:   baseType: 6
869 DUMP:   lexicalParentId: 0
870 DUMP:   name: EC
871 DUMP:   typeId: 13
872 DUMP:   unmodifiedTypeId: 113
873 DUMP:   length: 4
874 DUMP:   constructor: 0
875 DUMP:   constType: 1
876 DUMP:   hasAssignmentOperator: 0
877 DUMP:   hasCastOperator: 0
878 DUMP:   hasNestedTypes: 0
879 DUMP:   overloadedOperator: 0
880 DUMP:   isInterfaceUdt: 0
881 DUMP:   intrinsic: 0
882 DUMP:   nested: 0
883 DUMP:   packed: 0
884 DUMP:   isRefUdt: 0
885 DUMP:   scoped: 0
886 DUMP:   unalignedType: 0
887 DUMP:   isValueUdt: 0
888 DUMP:   volatileType: 1  {
889 DUMP:     symIndexId: 114
890 DUMP:     symTag: 7
891 DUMP:     classParentId: 113
892 DUMP:     lexicalParentId: 0
893 DUMP:     name: A
894 DUMP:     typeId: 13
895 DUMP:     dataKind: const
896 DUMP:     locationType: constant
897 DUMP:     constType: 0
898 DUMP:     unalignedType: 0
899 DUMP:     volatileType: 0
900 DUMP:     value: 1
901 DUMP:   }
902 DUMP:   {
903 DUMP:     symIndexId: 115
904 DUMP:     symTag: 7
905 DUMP:     classParentId: 113
906 DUMP:     lexicalParentId: 0
907 DUMP:     name: B
908 DUMP:     typeId: 13
909 DUMP:     dataKind: const
910 DUMP:     locationType: constant
911 DUMP:     constType: 0
912 DUMP:     unalignedType: 0
913 DUMP:     volatileType: 0
914 DUMP:     value: 2
915 DUMP:   }
916 DUMP: }