Files
clang-p2996/lldb/test/Shell/SymbolFile/PDB/variables.test
Stella Stamenova f4abf28c0a [lldb] Update the PDB tests to pass with the VS2019 toolset
The pdb lldb tests do not work correctly with both the VS2019 and VS2017 toolsets at the moment. This change updates several of the tests to work with both toolsets. Unfortunately, this makes the tests suboptimal for both toolsets, but we can update them to be better for VS2019 once we officially drop VS2017. This change is meant to bridge the gap until the update happens, so that the buildbots can work with either toolset.

Differential Revision: https://reviews.llvm.org/D115482
2021-12-14 13:06:07 -08:00

67 lines
3.4 KiB
Plaintext

REQUIRES: system-windows, msvc
RUN: %build --compiler=clang-cl --mode=compile --arch=64 --nodefaultlib --output=%T/VariablesTest.cpp.obj %S/Inputs/VariablesTest.cpp
RUN: %build --compiler=msvc --mode=link --arch=64 --nodefaultlib --output=%T/VariablesTest.cpp.exe %T/VariablesTest.cpp.obj
RUN: lldb-test symbols %T/VariablesTest.cpp.exe > %T/VariablesTest.out
RUN: FileCheck --check-prefix=GLOBALS --input-file=%T/VariablesTest.out %s
RUN: FileCheck --check-prefix=FUNC-F --input-file=%T/VariablesTest.out %s
RUN: FileCheck --check-prefix=FUNC-MAIN --input-file=%T/VariablesTest.out %s
RUN: FileCheck --check-prefix=FUNC-CONSTRUCTOR --input-file=%T/VariablesTest.out %s
RUN: FileCheck --check-prefix=FUNC-MEMBER --input-file=%T/VariablesTest.out %s
GLOBALS: Module [[MOD:.*]]
GLOBALS: SymbolFile pdb ([[MOD]])
GLOBALS: CompileUnit{{.*}}, language = "c++", file = '{{.*}}\VariablesTest.cpp'
GLOBALS-DAG: Variable{{.*}}, name = "g_IntVar"
GLOBALS-SAME: scope = global, location = {{.*}}, external
GLOBALS-DAG: Variable{{.*}}, name = "g_pConst"
GLOBALS-SAME: scope = global, location = {{.*}}, external
GLOBALS-DAG: Variable{{.*}}, name = "same_name_var"
GLOBALS-SAME: scope = global, location = {{.*}}, external
GLOBALS-DAG: Variable{{.*}}, name = "Class::m_StaticClassMember"
GLOBALS-SAME: scope = global, location = {{.*}}, external
GLOBALS-DAG: Variable{{.*}}, name = "g_EnumVar"
GLOBALS-SAME: scope = global, location = {{.*}}, external
GLOBALS-DAG: Variable{{.*}}, name = "g_tls"
GLOBALS-SAME: scope = thread local, location = {{.*}}, external
GLOBALS-DAG: Variable{{.*}}, name = "ClassVar"
GLOBALS-SAME: scope = global, location = {{.*}}, external
GLOBALS-DAG: Variable{{.*}}, name = "g_Const"
GLOBALS-SAME: scope = ??? (2)
GLOBALS: Function
FUNC-F: Function{{.*}}, mangled = ?f@@YAHHH@Z
FUNC-F-NEXT: Block
FUNC-F-NEXT: Variable{{.*}}, name = "var_arg1"
FUNC-F-SAME: scope = parameter
FUNC-F-NEXT: Variable{{.*}}, name = "var_arg2"
FUNC-F-SAME: scope = parameter
FUNC-F-NEXT: Variable{{.*}}, name = "same_name_var"
FUNC-F-SAME: scope = local
FUNC-MAIN: Function{{.*}}, mangled = main
FUNC-MAIN-NEXT: Block
FUNC-MAIN-NEXT: Variable{{.*}}, name = "same_name_var"
FUNC-MAIN-SAME: scope = local
FUNC-MAIN-NEXT: Variable{{.*}}, name = "local_const"
FUNC-MAIN-SAME: scope = local
FUNC-MAIN-NEXT: Variable{{.*}}, name = "local_CString"
FUNC-MAIN-SAME: scope = local
FUNC-MAIN-NEXT: Variable{{.*}}, name = "local_pCString"
FUNC-MAIN-SAME: scope = local
FUNC-MAIN-NEXT: Variable{{.*}}, name = "a"
FUNC-MAIN-SAME: scope = local
FUNC-CONSTRUCTOR: Function{{.*}}, {{(de)?}}mangled = {{.*}}{{(Class::)?}}Class{{.*}}
FUNC-CONSTRUCTOR-NEXT: Block
FUNC-CONSTRUCTOR-NEXT: Variable{{.*}}, name = "this"
FUNC-CONSTRUCTOR-SAME: scope = parameter
FUNC-CONSTRUCTOR-SAME: artificial
FUNC-CONSTRUCTOR-NEXT: Variable{{.*}}, name = "a"
FUNC-CONSTRUCTOR-SAME: scope = parameter
FUNC-MEMBER: Function{{.*}}, {{(de)?}}mangled = {{.*}}{{(Class::)?}}Func{{.*}}
FUNC-MEMBER-NEXT: Block
FUNC-MEMBER-NEXT: Variable{{.*}}, name = "this"
FUNC-MEMBER-SAME: scope = parameter
FUNC-MEMBER-SAME: artificial