xref: /llvm-project/llvm/test/tools/llvm-pdbutil/symbol-filters.test (revision c9c55cf89b0d4ddd4b778da8ecf59fe740283bec)
1; REQUIRES: diasdk
2
3; RUN: llvm-pdbutil pretty -globals -module-syms -sym-types=data %p/Inputs/FilterTest.pdb \
4; RUN:    | FileCheck --check-prefix=ONLY_DATA %s
5
6; RUN: llvm-pdbutil pretty -globals -module-syms -sym-types=thunks %p/Inputs/FilterTest.pdb \
7; RUN:    | FileCheck --check-prefix=ONLY_THUNKS %s
8
9; RUN: llvm-pdbutil pretty -globals -module-syms -sym-types=funcs %p/Inputs/FilterTest.pdb \
10; RUN:    | FileCheck --check-prefix=ONLY_FUNCS %s
11
12; RUN: llvm-pdbutil pretty -globals -module-syms -sym-types=funcs -sym-types=data \
13; RUN: %p/Inputs/FilterTest.pdb | FileCheck --check-prefix=TWO_TYPES %s
14
15; RUN: llvm-pdbutil pretty -globals -module-syms -sym-types=data \
16; RUN: -symbol-order=name %p/Inputs/FilterTest.pdb | FileCheck --check-prefix=NAME_SORT_DATA %s
17
18; RUN: llvm-pdbutil pretty -globals -module-syms -sym-types=data \
19; RUN: -symbol-order=size %p/Inputs/FilterTest.pdb | FileCheck --check-prefix=SIZE_SORT_DATA %s
20
21; RUN: llvm-pdbutil pretty -globals -module-syms -sym-types=funcs \
22; RUN: -symbol-order=name %p/Inputs/FilterTest.pdb | FileCheck --check-prefix=NAME_SORT_FUNCS %s
23
24; RUN: llvm-pdbutil pretty -globals -module-syms -sym-types=funcs \
25; RUN: -symbol-order=size %p/Inputs/FilterTest.pdb | FileCheck --check-prefix=SIZE_SORT_FUNCS %s
26
27; ONLY_DATA-NOT: func
28; ONLY_DATA-NOT: thunk
29; ONLY_DATA-DAG: data {{.*}} static char OneByte
30; ONLY_DATA-DAG: data {{.*}} static double DoubleGlobalVar
31; ONLY_DATA-DAG: data {{.*}} static char TwoBytes[2]
32; ONLY_DATA-DAG: data {{.*}} static char ThreeBytes[3]
33; ONLY_DATA-DAG: data {{.*}} static int IntGlobalVar
34; ONLY_DATA-DAG: data {{.*}} static GlobalEnum GlobalEnumVar
35
36; ONLY_FUNCS-NOT: data
37; ONLY_FUNCS-NOT: thunk
38; ONLY_FUNCS: func {{.*}} int __cdecl main(int argc, char** argv)
39; ONLY_FUNCS: func {{.*}} int __cdecl CFunc()
40; ONLY_FUNCS: func {{.*}} int __cdecl BFunc()
41; ONLY_FUNCS: func {{.*}} int __cdecl AFunc()
42; ONLY_FUNCS: func {{.*}} int FilterTestClass::foo()
43
44; ONLY_THUNKS-NOT: func
45; ONLY_THUNKS-NOT: data
46; ONLY_THUNKS-DAG: thunk {{.*}} (TrampIncremental)
47
48; TWO_TYPES-NOT: thunk
49; TWO_TYPES-DAG: func {{.*}} int __cdecl main(int argc, char** argv)
50; TWO_TYPES-DAG: data {{.*}} static double DoubleGlobalVar
51
52; NAME_SORT_DATA: data {{.*}} static double DoubleGlobalVar
53; NAME_SORT_DATA: data {{.*}} static GlobalEnum GlobalEnumVar
54; NAME_SORT_DATA: data {{.*}} static int IntGlobalVar
55; NAME_SORT_DATA: data {{.*}} static char OneByte
56; NAME_SORT_DATA: data {{.*}} static char ThreeBytes[3]
57; NAME_SORT_DATA: data {{.*}} static char TwoBytes[2]
58
59; SIZE_SORT_DATA: data {{.*}}sizeof=8{{.*}}double DoubleGlobalVar
60; SIZE_SORT_DATA-DAG: data {{.*}}sizeof=4{{.*}}GlobalEnum GlobalEnumVar
61; SIZE_SORT_DATA-DAG: data {{.*}}sizeof=4{{.*}}int IntGlobalVar
62; SIZE_SORT_DATA: data {{.*}}sizeof=3{{.*}}char ThreeBytes[3]
63; SIZE_SORT_DATA: data {{.*}}sizeof=2{{.*}}char TwoBytes[2]
64; SIZE_SORT_DATA: data {{.*}}sizeof=1{{.*}}char OneByte
65
66; NAME_SORT_FUNCS: func {{.*}}sizeof= 40{{.*}}AFunc
67; NAME_SORT_FUNCS: func {{.*}}sizeof= 10{{.*}}BFunc
68; NAME_SORT_FUNCS: func {{.*}}sizeof= 14{{.*}}CFunc
69; NAME_SORT_FUNCS: func {{.*}}sizeof= 16{{.*}}FilterTestClass::foo
70; NAME_SORT_FUNCS: func {{.*}}sizeof=  7{{.*}}main
71
72; SIZE_SORT_FUNCS: func {{.*}}sizeof= 40{{.*}}AFunc
73; SIZE_SORT_FUNCS: func {{.*}}sizeof= 16{{.*}}FilterTestClass::foo
74; SIZE_SORT_FUNCS: func {{.*}}sizeof= 14{{.*}}CFunc
75; SIZE_SORT_FUNCS: func {{.*}}sizeof= 10{{.*}}BFunc
76; SIZE_SORT_FUNCS: func {{.*}}sizeof=  7{{.*}}main
77