xref: /llvm-project/lldb/test/Shell/SymbolFile/PDB/variables.test (revision f4abf28c0a0ba2226379a1b1926a7c36d75265e9)
187aa9c9eSJonas DevlieghereREQUIRES: system-windows, msvc
287aa9c9eSJonas DevlieghereRUN: %build --compiler=clang-cl --mode=compile --arch=64 --nodefaultlib --output=%T/VariablesTest.cpp.obj %S/Inputs/VariablesTest.cpp
387aa9c9eSJonas DevlieghereRUN: %build --compiler=msvc --mode=link --arch=64 --nodefaultlib --output=%T/VariablesTest.cpp.exe %T/VariablesTest.cpp.obj
487aa9c9eSJonas DevlieghereRUN: lldb-test symbols %T/VariablesTest.cpp.exe > %T/VariablesTest.out
587aa9c9eSJonas DevlieghereRUN: FileCheck --check-prefix=GLOBALS --input-file=%T/VariablesTest.out %s
687aa9c9eSJonas DevlieghereRUN: FileCheck --check-prefix=FUNC-F --input-file=%T/VariablesTest.out %s
787aa9c9eSJonas DevlieghereRUN: FileCheck --check-prefix=FUNC-MAIN --input-file=%T/VariablesTest.out %s
887aa9c9eSJonas DevlieghereRUN: FileCheck --check-prefix=FUNC-CONSTRUCTOR --input-file=%T/VariablesTest.out %s
987aa9c9eSJonas DevlieghereRUN: FileCheck --check-prefix=FUNC-MEMBER --input-file=%T/VariablesTest.out %s
1087aa9c9eSJonas Devlieghere
1187aa9c9eSJonas DevlieghereGLOBALS: Module [[MOD:.*]]
1287aa9c9eSJonas DevlieghereGLOBALS: SymbolFile pdb ([[MOD]])
1387aa9c9eSJonas DevlieghereGLOBALS:     CompileUnit{{.*}}, language = "c++", file = '{{.*}}\VariablesTest.cpp'
1487aa9c9eSJonas DevlieghereGLOBALS-DAG:   Variable{{.*}}, name = "g_IntVar"
1587aa9c9eSJonas DevlieghereGLOBALS-SAME:  scope = global, location = {{.*}}, external
1687aa9c9eSJonas DevlieghereGLOBALS-DAG:   Variable{{.*}}, name = "g_pConst"
1787aa9c9eSJonas DevlieghereGLOBALS-SAME:  scope = global, location = {{.*}}, external
1887aa9c9eSJonas DevlieghereGLOBALS-DAG:   Variable{{.*}}, name = "same_name_var"
1987aa9c9eSJonas DevlieghereGLOBALS-SAME:  scope = global, location = {{.*}}, external
2047cc6db9SReid KlecknerGLOBALS-DAG:   Variable{{.*}}, name = "Class::m_StaticClassMember"
2147cc6db9SReid KlecknerGLOBALS-SAME:  scope = global, location = {{.*}}, external
2287aa9c9eSJonas DevlieghereGLOBALS-DAG:   Variable{{.*}}, name = "g_EnumVar"
2387aa9c9eSJonas DevlieghereGLOBALS-SAME:  scope = global, location = {{.*}}, external
2487aa9c9eSJonas DevlieghereGLOBALS-DAG:   Variable{{.*}}, name = "g_tls"
2587aa9c9eSJonas DevlieghereGLOBALS-SAME:  scope = thread local, location = {{.*}}, external
2687aa9c9eSJonas DevlieghereGLOBALS-DAG:   Variable{{.*}}, name = "ClassVar"
2787aa9c9eSJonas DevlieghereGLOBALS-SAME:  scope = global, location = {{.*}}, external
2887aa9c9eSJonas DevlieghereGLOBALS-DAG:   Variable{{.*}}, name = "g_Const"
2987aa9c9eSJonas DevlieghereGLOBALS-SAME:  scope = ??? (2)
3087aa9c9eSJonas DevlieghereGLOBALS:     Function
3187aa9c9eSJonas Devlieghere
3287aa9c9eSJonas DevlieghereFUNC-F:      Function{{.*}}, mangled = ?f@@YAHHH@Z
3387aa9c9eSJonas DevlieghereFUNC-F-NEXT:   Block
3487aa9c9eSJonas DevlieghereFUNC-F-NEXT:     Variable{{.*}}, name = "var_arg1"
3587aa9c9eSJonas DevlieghereFUNC-F-SAME:                     scope = parameter
3687aa9c9eSJonas DevlieghereFUNC-F-NEXT:     Variable{{.*}}, name = "var_arg2"
3787aa9c9eSJonas DevlieghereFUNC-F-SAME:                     scope = parameter
3887aa9c9eSJonas DevlieghereFUNC-F-NEXT:     Variable{{.*}}, name = "same_name_var"
3987aa9c9eSJonas DevlieghereFUNC-F-SAME:                     scope = local
4087aa9c9eSJonas Devlieghere
4187aa9c9eSJonas DevlieghereFUNC-MAIN:      Function{{.*}}, mangled = main
4287aa9c9eSJonas DevlieghereFUNC-MAIN-NEXT:   Block
4387aa9c9eSJonas DevlieghereFUNC-MAIN-NEXT:     Variable{{.*}}, name = "same_name_var"
4487aa9c9eSJonas DevlieghereFUNC-MAIN-SAME:                     scope = local
4587aa9c9eSJonas DevlieghereFUNC-MAIN-NEXT:     Variable{{.*}}, name = "local_const"
4687aa9c9eSJonas DevlieghereFUNC-MAIN-SAME:                     scope = local
4787aa9c9eSJonas DevlieghereFUNC-MAIN-NEXT:     Variable{{.*}}, name = "local_CString"
4887aa9c9eSJonas DevlieghereFUNC-MAIN-SAME:                     scope = local
4987aa9c9eSJonas DevlieghereFUNC-MAIN-NEXT:     Variable{{.*}}, name = "local_pCString"
5087aa9c9eSJonas DevlieghereFUNC-MAIN-SAME:                     scope = local
5187aa9c9eSJonas DevlieghereFUNC-MAIN-NEXT:     Variable{{.*}}, name = "a"
5287aa9c9eSJonas DevlieghereFUNC-MAIN-SAME:                     scope = local
5387aa9c9eSJonas Devlieghere
54*f4abf28cSStella StamenovaFUNC-CONSTRUCTOR:      Function{{.*}}, {{(de)?}}mangled = {{.*}}{{(Class::)?}}Class{{.*}}
5587aa9c9eSJonas DevlieghereFUNC-CONSTRUCTOR-NEXT:   Block
5687aa9c9eSJonas DevlieghereFUNC-CONSTRUCTOR-NEXT:     Variable{{.*}}, name = "this"
5787aa9c9eSJonas DevlieghereFUNC-CONSTRUCTOR-SAME:                     scope = parameter
5887aa9c9eSJonas DevlieghereFUNC-CONSTRUCTOR-SAME:                     artificial
5987aa9c9eSJonas DevlieghereFUNC-CONSTRUCTOR-NEXT:     Variable{{.*}}, name = "a"
6087aa9c9eSJonas DevlieghereFUNC-CONSTRUCTOR-SAME:                     scope = parameter
6187aa9c9eSJonas Devlieghere
62*f4abf28cSStella StamenovaFUNC-MEMBER:      Function{{.*}}, {{(de)?}}mangled = {{.*}}{{(Class::)?}}Func{{.*}}
6387aa9c9eSJonas DevlieghereFUNC-MEMBER-NEXT:   Block
6487aa9c9eSJonas DevlieghereFUNC-MEMBER-NEXT:     Variable{{.*}}, name = "this"
6587aa9c9eSJonas DevlieghereFUNC-MEMBER-SAME:                     scope = parameter
6687aa9c9eSJonas DevlieghereFUNC-MEMBER-SAME:                     artificial
67