reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
    1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
   20
   21
   22
   23
   24
   25
   26
   27
   28
   29
   30
   31
   32
   33
   34
   35
   36
   37
   38
   39
   40
   41
   42
   43
   44
   45
   46
   47
   48
   49
   50
   51
   52
   53
   54
   55
   56
   57
   58
   59
   60
   61
   62
   63
   64
   65
   66
   67
   68
   69
   70
   71
   72
   73
   74
   75
   76
   77
   78
   79
   80
   81
   82
   83
   84
   85
   86
   87
   88
   89
   90
   91
   92
   93
   94
; REQUIRES: diasdk

; RUN: llvm-pdbutil pretty -module-syms -globals -types %p/Inputs/FilterTest.pdb \
; RUN:    | FileCheck --check-prefix=NO_FILTER %s

; RUN: llvm-pdbutil pretty -types -exclude-types="GlobalTypedef|NestedTypedef" \
; RUN:    %p/Inputs/FilterTest.pdb | FileCheck --check-prefix=EXCLUDE_TYPEDEFS %s
; RUN: llvm-pdbutil pretty -classes -enums %p/Inputs/FilterTest.pdb \
; RUN:    | FileCheck --check-prefix=EXCLUDE_TYPEDEFS %s

; RUN: llvm-pdbutil pretty -types -exclude-types="GlobalEnum|NestedEnum" \
; RUN:    %p/Inputs/FilterTest.pdb | FileCheck --check-prefix=EXCLUDE_ENUMS %s
; RUN: llvm-pdbutil pretty -classes -typedefs %p/Inputs/FilterTest.pdb \
; RUN:    | FileCheck --check-prefix=EXCLUDE_ENUMS %s

; RUN: llvm-pdbutil pretty -types -module-syms -globals -exclude-symbols="MemberVar|GlobalVar" \
; RUN:    %p/Inputs/FilterTest.pdb | FileCheck --check-prefix=EXCLUDE_VARS %s
; RUN: llvm-pdbutil pretty -classes -exclude-types="FilterTestClass" \
; RUN:    %p/Inputs/FilterTest.pdb | FileCheck  --check-prefix=EXCLUDE_WHOLE_CLASS %s
; RUN: llvm-pdbutil pretty -module-syms -globals -exclude-compilands="FilterTest.obj"  \
; RUN:    %p/Inputs/FilterTest.pdb | FileCheck  --check-prefix=EXCLUDE_COMPILAND %s
; RUN: llvm-pdbutil pretty -types -include-types="FilterTestClass" \
; RUN:    %p/Inputs/FilterTest.pdb | FileCheck --check-prefix=INCLUDE_ONLY_TYPES %s
; RUN: llvm-pdbutil pretty -types -module-syms -globals -include-symbols="[[:<:]](IntGlobalVar|DoubleGlobalVar)[[:>:]]" \
; RUN:    %p/Inputs/FilterTest.pdb | FileCheck --check-prefix=INCLUDE_ONLY_VARS %s

; NO_FILTER: ---TYPES---
; NO_FILTER: Enums:
; NO_FILTER: enum GlobalEnum
; NO_FILTER: Typedefs
; NO_FILTER: typedef int GlobalTypedef
; NO_FILTER: Classes:
; NO_FILTER: struct __vc_attributes
; NO_FILTER: class FilterTestClass
; NO_FILTER-DAG: typedef int NestedTypedef
; NO_FILTER-DAG: enum NestedEnum
; NO_FILTER-DAG: int IntMemberVar
; NO_FILTER-DAG: double DoubleMemberVar
; NO_FILTER: ---SYMBOLS---
; NO_FILTER: Inputs\FilterTest.obj
; NO_FILTER: int __cdecl main(int argc, char** argv)
; NO_FILTER: ---GLOBALS---
; NO_FILTER-DAG: double DoubleGlobalVar
; NO_FILTER-DAG: int IntGlobalVar
; NO_FILTER-DAG: GlobalEnum GlobalEnumVar

; EXCLUDE_TYPEDEFS: ---TYPES---
; EXCLUDE_TYPEDEFS-NOT: GlobalTypedef
; EXCLUDE_TYPEDEFS-NOT: NestedTypedef
; EXCLUDE_TYPEDEFS-DAG: GlobalEnum
; EXCLUDE_TYPEDEFS-DAG: NestedEnum
; EXCLUDE_TYPEDEFS: class FilterTestClass

; EXCLUDE_ENUMS: ---TYPES---
; EXCLUDE_ENUMS-NOT: GlobalEnum
; EXCLUDE_ENUMS-NOT: NestedEnum
; EXCLUDE_ENUMS: GlobalTypedef
; EXCLUDE_ENUMS: class FilterTestClass

; EXCLUDE_VARS: ---TYPES---
; EXCLUDE_VARS-NOT: IntMemberVar
; EXCLUDE_VARS-NOT: DoubleMemberVar
; EXCLUDE_VARS-DAG: GlobalEnum
; EXCLUDE_VARS-DAG: NestedEnum
; EXCLUDE_VARS: GlobalTypedef
; EXCLUDE_VARS: class FilterTestClass
; EXCLUDE_VARS: ---GLOBALS---
; EXCLUDE_VARS-NOT: DoubleGlobalVar
; EXCLUDE_VARS-NOT: IntGlobalVar

; EXCLUDE_WHOLE_CLASS: ---TYPES---
; EXCLUDE_WHOLE_CLASS-NOT: class FilterTestClass

; EXCLUDE_COMPILAND: ---SYMBOLS---
; EXCLUDE_COMPILAND-NOT: FilterTest.obj
; EXCLUDE_COMPILAND-NOT: __cdecl main
; EXCLUDE_COMPILAND: * Linker *
; EXCLUDE_COMPILAND: ---GLOBALS---

; Everything but types are displayed normally.  But FilterTestClass is
; the only type that should be displayed.
; INCLUDE_ONLY_TYPES: ---TYPES---
; INCLUDE_ONLY_TYPES-NOT: GlobalTypedef
; INCLUDE_ONLY_TYPES: class FilterTestClass

; We should only see DoubleGlobalVar and IntGlobalVar.  This means that even
; variables printed in class definitions should be filtered out.
; INCLUDE_ONLY_VARS: ---TYPES---
; INCLUDE_ONLY_VARS: class FilterTestClass
; INCLUDE_ONLY_VARS-NOT: IntMemberVar
; INCLUDE_ONLY_VARS-NOT: IntDoubleVar
; INCLUDE_ONLY_VARS: ---GLOBALS---
; INCLUDE_ONLY_VARS: DoubleGlobalVar
; INCLUDE_ONLY_VARS: IntGlobalVar