mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-24 22:24:54 +00:00
[llvm-pdbdump] Add regex-based filtering.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@230888 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
29
test/tools/llvm-pdbdump/Inputs/FilterTest.cpp
Normal file
29
test/tools/llvm-pdbdump/Inputs/FilterTest.cpp
Normal file
@@ -0,0 +1,29 @@
|
||||
// Compile with "cl /c /Zi /GR- FilterTest.cpp"
|
||||
// Link with "link FilterTest.obj /debug /nodefaultlib /entry:main"
|
||||
|
||||
class FilterTestClass {
|
||||
public:
|
||||
typedef int NestedTypedef;
|
||||
enum NestedEnum {
|
||||
NestedEnumValue1
|
||||
};
|
||||
|
||||
void MemberFunc() {}
|
||||
|
||||
private:
|
||||
int IntMemberVar;
|
||||
double DoubleMemberVar;
|
||||
};
|
||||
|
||||
int IntGlobalVar;
|
||||
double DoubleGlobalVar;
|
||||
typedef int GlobalTypedef;
|
||||
enum GlobalEnum {
|
||||
GlobalEnumVal1
|
||||
} GlobalEnumVar;
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
FilterTestClass TestClass;
|
||||
GlobalTypedef v1;
|
||||
return 0;
|
||||
}
|
BIN
test/tools/llvm-pdbdump/Inputs/FilterTest.pdb
Normal file
BIN
test/tools/llvm-pdbdump/Inputs/FilterTest.pdb
Normal file
Binary file not shown.
1
test/tools/llvm-pdbdump/lit.local.cfg
Normal file
1
test/tools/llvm-pdbdump/lit.local.cfg
Normal file
@@ -0,0 +1 @@
|
||||
config.unsupported = not config.have_dia_sdk
|
76
test/tools/llvm-pdbdump/regex-filter.test
Normal file
76
test/tools/llvm-pdbdump/regex-filter.test
Normal file
@@ -0,0 +1,76 @@
|
||||
; RUN: llvm-pdbdump -symbols -globals -class-definitions -types %p/Inputs/FilterTest.pdb \
|
||||
; RUN: | FileCheck --check-prefix=NO_FILTER %s
|
||||
; RUN: llvm-pdbdump -class-definitions -types -exclude-types="GlobalTypedef|NestedTypedef" \
|
||||
; RUN: %p/Inputs/FilterTest.pdb | FileCheck --check-prefix=EXCLUDE_TYPEDEFS %s
|
||||
; RUN: llvm-pdbdump -class-definitions -types -exclude-types="GlobalEnum|NestedEnum" \
|
||||
; RUN: %p/Inputs/FilterTest.pdb | FileCheck --check-prefix=EXCLUDE_ENUMS %s
|
||||
; RUN: llvm-pdbdump -class-definitions -types -symbols -globals \
|
||||
; RUN: -exclude-symbols="MemberVar|GlobalVar" %p/Inputs/FilterTest.pdb | FileCheck \
|
||||
; RUN: --check-prefix=EXCLUDE_VARS %s
|
||||
; RUN: llvm-pdbdump -types -class-definitions -exclude-types="FilterTestClass" \
|
||||
; RUN: %p/Inputs/FilterTest.pdb | FileCheck --check-prefix=EXCLUDE_WHOLE_CLASS %s
|
||||
; RUN: llvm-pdbdump -symbols -globals -exclude-compilands="FilterTest.obj" \
|
||||
; RUN: %p/Inputs/FilterTest.pdb | FileCheck --check-prefix=EXCLUDE_COMPILAND %s
|
||||
|
||||
; NO_FILTER: ---TYPES---
|
||||
; NO_FILTER: Enums:
|
||||
; NO_FILTER: enum GlobalEnum
|
||||
; NO_FILTER: Typedefs
|
||||
; NO_FILTER: typedef int GlobalTypedef
|
||||
; NO_FILTER: Classes:
|
||||
; NO_FILTER: class __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: Enums:
|
||||
; EXCLUDE_TYPEDEFS: GlobalEnum
|
||||
; EXCLUDE_TYPEDEFS: Typedefs
|
||||
; EXCLUDE_TYPEDEFS-NOT: GlobalTypedef
|
||||
; EXCLUDE_TYPEDEFS: Classes
|
||||
; EXCLUDE_TYPEDEFS: class FilterTestClass
|
||||
; EXCLUDE_TYPEDEFS-NOT: NestedTypedef
|
||||
; EXCLUDE_TYPEDEFS: private:
|
||||
|
||||
; EXCLUDE_ENUMS: ---TYPES---
|
||||
; EXCLUDE_ENUMS: Enums:
|
||||
; EXCLUDE_ENUMS-NOT: GlobalEnum
|
||||
; EXCLUDE_ENUMS: Typedefs
|
||||
; EXCLUDE_ENUMS: GlobalTypedef
|
||||
; EXCLUDE_ENUMS: Classes
|
||||
; EXCLUDE_ENUMS: class FilterTestClass
|
||||
; EXCLUDE_ENUMS-NOT: NestedEnum
|
||||
; EXCLUDE_ENUMS: private:
|
||||
|
||||
; EXCLUDE_VARS: ---TYPES---
|
||||
; EXCLUDE_VARS: Classes:
|
||||
; EXCLUDE_VARS: class FilterTestClass
|
||||
; EXCLUDE_VARS: private:
|
||||
; EXCLUDE_VARS-NOT: IntMemberVar
|
||||
; EXCLUDE_VARS-NOT: DoubleMemberVar
|
||||
; EXCLUDE_VARS: ---GLOBALS---
|
||||
; EXCLUDE_VARS-NOT: DoubleGlobalVar
|
||||
; EXCLUDE_VARS-NOT: IntGlobalVar
|
||||
|
||||
; EXCLUDE_WHOLE_CLASS: ---TYPES---
|
||||
; EXCLUDE_WHOLE_CLASS-NOT: class FilterTestClass
|
||||
; EXCLUDE_WHOLE_CLASS-NOT: typedef int NestedTypedef
|
||||
; EXCLUDE_WHOLE_CLASS-NOT: enum NestedEnum
|
||||
; EXCLUDE_WHOLE_CLASS-NOT: int IntMemberVar
|
||||
; EXCLUDE_WHOLE_CLASS-NOT: double DoubleMemberVar
|
||||
|
||||
; EXCLUDE_COMPILAND: ---SYMBOLS---
|
||||
; EXCLUDE_COMPILAND-NOT: FilterTest.obj
|
||||
; EXCLUDE_COMPILAND-NOT: __cdecl main
|
||||
; EXCLUDE_COMPILAND: * Linker *
|
||||
; EXCLUDE_COMPILAND: ---GLOBALS---
|
Reference in New Issue
Block a user