xref: /llvm-project/llvm/test/DebugInfo/PDB/pdb-resolve-forward-refs.test (revision cfa1d499f92d52c2ac2443c52fb77ad2fc64591d)
1*cfa1d499SZachary Turner; RUN: llvm-pdbutil dump -types %p/Inputs/every-class.pdb \
2*cfa1d499SZachary Turner; RUN:   | FileCheck %s
3*cfa1d499SZachary Turner
4*cfa1d499SZachary Turner; CHECK:                      Types (TPI Stream)
5*cfa1d499SZachary Turner; CHECK: ============================================================
6*cfa1d499SZachary Turner; CHECK:   Showing 157 records
7*cfa1d499SZachary Turner; CHECK:   0x1008 | LF_STRUCTURE [size = 124] `main::__l2::<unnamed-type-Anonymous>`
8*cfa1d499SZachary Turner; CHECK:            unique name: `.?AU<unnamed-type-Anonymous>@?1??main@@YAHHPEAPEAD@Z@`aa6523bc`
9*cfa1d499SZachary Turner; CHECK:            vtable: <no type>, base list: <no type>, field list: 0x1007
10*cfa1d499SZachary Turner; CHECK:            options: has unique name | scoped, sizeof 1
11*cfa1d499SZachary Turner; CHECK:   0x1009 | LF_STRUCTURE [size = 88] `main::__l2::Scoped`
12*cfa1d499SZachary Turner; CHECK:            unique name: `.?AUScoped@?1??main@@YAHHPEAPEAD@Z@`aa6523bc`
13*cfa1d499SZachary Turner; CHECK:            vtable: <no type>, base list: <no type>, field list: 0x1007
14*cfa1d499SZachary Turner; CHECK:            options: has unique name | scoped, sizeof 1
15*cfa1d499SZachary Turner; CHECK:   0x1054 | LF_STRUCTURE [size = 48] `Nested::F`
16*cfa1d499SZachary Turner; CHECK:            unique name: `.?AUF@Nested@@`
17*cfa1d499SZachary Turner; CHECK:            vtable: <no type>, base list: <no type>, field list: <no type>
18*cfa1d499SZachary Turner; CHECK:            options: forward ref (-> 0x1057) | has unique name | is nested, sizeof 0
19*cfa1d499SZachary Turner; CHECK:   0x1056 | LF_STRUCTURE [size = 44] `Nested`
20*cfa1d499SZachary Turner; CHECK:            unique name: `.?AUNested@@`
21*cfa1d499SZachary Turner; CHECK:            vtable: <no type>, base list: <no type>, field list: 0x1055
22*cfa1d499SZachary Turner; CHECK:            options: contains nested class | has unique name, sizeof 1
23*cfa1d499SZachary Turner; CHECK:   0x1057 | LF_STRUCTURE [size = 48] `Nested::F`
24*cfa1d499SZachary Turner; CHECK:            unique name: `.?AUF@Nested@@`
25*cfa1d499SZachary Turner; CHECK:            vtable: <no type>, base list: <no type>, field list: 0x1007
26*cfa1d499SZachary Turner; CHECK:            options: has unique name | is nested, sizeof 1
27*cfa1d499SZachary Turner; CHECK:   0x1058 | LF_STRUCTURE [size = 52] `Constructor`
28*cfa1d499SZachary Turner; CHECK:            unique name: `.?AUConstructor@@`
29*cfa1d499SZachary Turner; CHECK:            vtable: <no type>, base list: <no type>, field list: <no type>
30*cfa1d499SZachary Turner; CHECK:            options: forward ref (-> 0x105C) | has unique name, sizeof 0
31*cfa1d499SZachary Turner; CHECK:   0x105C | LF_STRUCTURE [size = 52] `Constructor`
32*cfa1d499SZachary Turner; CHECK:            unique name: `.?AUConstructor@@`
33*cfa1d499SZachary Turner; CHECK:            vtable: <no type>, base list: <no type>, field list: 0x105B
34*cfa1d499SZachary Turner; CHECK:            options: has ctor / dtor | has unique name, sizeof 1
35*cfa1d499SZachary Turner; CHECK:   0x105D | LF_CLASS [size = 40] `Class`
36*cfa1d499SZachary Turner; CHECK:            unique name: `.?AVClass@@`
37*cfa1d499SZachary Turner; CHECK:            vtable: <no type>, base list: <no type>, field list: 0x1007
38*cfa1d499SZachary Turner; CHECK:            options: has unique name, sizeof 1
39*cfa1d499SZachary Turner; CHECK:   0x105E | LF_UNION [size = 32] `Union`
40*cfa1d499SZachary Turner; CHECK:            unique name: `.?ATUnion@@`
41*cfa1d499SZachary Turner; CHECK:            field list: 0x1007
42*cfa1d499SZachary Turner; CHECK:            options: has unique name | sealed, sizeof 1
43*cfa1d499SZachary Turner; CHECK:   0x105F | LF_STRUCTURE [size = 48] `Operator`
44*cfa1d499SZachary Turner; CHECK:            unique name: `.?AUOperator@@`
45*cfa1d499SZachary Turner; CHECK:            vtable: <no type>, base list: <no type>, field list: <no type>
46*cfa1d499SZachary Turner; CHECK:            options: forward ref (-> 0x1064) | has unique name, sizeof 0
47*cfa1d499SZachary Turner; CHECK:   0x1064 | LF_STRUCTURE [size = 48] `Operator`
48*cfa1d499SZachary Turner; CHECK:            unique name: `.?AUOperator@@`
49*cfa1d499SZachary Turner; CHECK:            vtable: <no type>, base list: <no type>, field list: 0x1063
50*cfa1d499SZachary Turner; CHECK:            options: has unique name | overloaded operator, sizeof 1
51*cfa1d499SZachary Turner; CHECK:   0x1066 | LF_ENUM [size = 36] `Enum`
52*cfa1d499SZachary Turner; CHECK:            unique name: `.?AW4Enum@@`
53*cfa1d499SZachary Turner; CHECK:            field list: 0x1065, underlying type: 0x0074 (int)
54*cfa1d499SZachary Turner; CHECK:            options: has unique name
55*cfa1d499SZachary Turner; CHECK:   0x1067 | LF_STRUCTURE [size = 40] `Cast`
56*cfa1d499SZachary Turner; CHECK:            unique name: `.?AUCast@@`
57*cfa1d499SZachary Turner; CHECK:            vtable: <no type>, base list: <no type>, field list: <no type>
58*cfa1d499SZachary Turner; CHECK:            options: forward ref (-> 0x106B) | has unique name, sizeof 0
59*cfa1d499SZachary Turner; CHECK:   0x106B | LF_STRUCTURE [size = 40] `Cast`
60*cfa1d499SZachary Turner; CHECK:            unique name: `.?AUCast@@`
61*cfa1d499SZachary Turner; CHECK:            vtable: <no type>, base list: <no type>, field list: 0x106A
62*cfa1d499SZachary Turner; CHECK:            options: conversion operator | has unique name | overloaded operator, sizeof 1
63*cfa1d499SZachary Turner; CHECK:   0x106C | LF_STRUCTURE [size = 44] `Nothing`
64*cfa1d499SZachary Turner; CHECK:            unique name: `.?AUNothing@@`
65*cfa1d499SZachary Turner; CHECK:            vtable: <no type>, base list: <no type>, field list: 0x1007
66*cfa1d499SZachary Turner; CHECK:            options: has unique name, sizeof 1
67*cfa1d499SZachary Turner; CHECK:   0x106D | LF_STRUCTURE [size = 52] `Assignment`
68*cfa1d499SZachary Turner; CHECK:            unique name: `.?AUAssignment@@`
69*cfa1d499SZachary Turner; CHECK:            vtable: <no type>, base list: <no type>, field list: <no type>
70*cfa1d499SZachary Turner; CHECK:            options: forward ref (-> 0x1073) | has unique name, sizeof 0
71*cfa1d499SZachary Turner; CHECK:   0x1073 | LF_STRUCTURE [size = 52] `Assignment`
72*cfa1d499SZachary Turner; CHECK:            unique name: `.?AUAssignment@@`
73*cfa1d499SZachary Turner; CHECK:            vtable: <no type>, base list: <no type>, field list: 0x1072
74*cfa1d499SZachary Turner; CHECK:            options: has unique name | overloaded operator | overloaded operator=, sizeof 1
75*cfa1d499SZachary Turner; CHECK:   0x1074 | LF_STRUCTURE [size = 44] `Nothing`
76*cfa1d499SZachary Turner; CHECK:            unique name: `.?AUNothing@@`
77*cfa1d499SZachary Turner; CHECK:            vtable: <no type>, base list: <no type>, field list: <no type>
78*cfa1d499SZachary Turner; CHECK:            options: forward ref (<- 0x106C) | has unique name, sizeof 0
79*cfa1d499SZachary Turner; CHECK:   0x1081 | LF_UNION [size = 32] `Union`
80*cfa1d499SZachary Turner; CHECK:            unique name: `.?ATUnion@@`
81*cfa1d499SZachary Turner; CHECK:            field list: <no type>
82*cfa1d499SZachary Turner; CHECK:            options: forward ref (<- 0x105E) | has unique name, sizeof 0
83*cfa1d499SZachary Turner; CHECK:   0x1084 | LF_STRUCTURE [size = 124] `main::__l2::<unnamed-type-Anonymous>`
84*cfa1d499SZachary Turner; CHECK:            unique name: `.?AU<unnamed-type-Anonymous>@?1??main@@YAHHPEAPEAD@Z@`aa6523bc`
85*cfa1d499SZachary Turner; CHECK:            vtable: <no type>, base list: <no type>, field list: <no type>
86*cfa1d499SZachary Turner; CHECK:            options: forward ref (<- 0x1008) | has unique name | scoped, sizeof 0
87*cfa1d499SZachary Turner; CHECK:   0x108E | LF_STRUCTURE [size = 44] `Nested`
88*cfa1d499SZachary Turner; CHECK:            unique name: `.?AUNested@@`
89*cfa1d499SZachary Turner; CHECK:            vtable: <no type>, base list: <no type>, field list: <no type>
90*cfa1d499SZachary Turner; CHECK:            options: forward ref (<- 0x1056) | has unique name, sizeof 0
91*cfa1d499SZachary Turner; CHECK:   0x1095 | LF_STRUCTURE [size = 88] `main::__l2::Scoped`
92*cfa1d499SZachary Turner; CHECK:            unique name: `.?AUScoped@?1??main@@YAHHPEAPEAD@Z@`aa6523bc`
93*cfa1d499SZachary Turner; CHECK:            vtable: <no type>, base list: <no type>, field list: <no type>
94*cfa1d499SZachary Turner; CHECK:            options: forward ref (<- 0x1009) | has unique name | scoped, sizeof 0
95*cfa1d499SZachary Turner; CHECK:   0x1098 | LF_CLASS [size = 40] `Class`
96*cfa1d499SZachary Turner; CHECK:            unique name: `.?AVClass@@`
97*cfa1d499SZachary Turner; CHECK:            vtable: <no type>, base list: <no type>, field list: <no type>
98*cfa1d499SZachary Turner; CHECK:            options: forward ref (<- 0x105D) | has unique name, sizeof 0
99