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