1REQUIRES: system-windows, msvc 2RUN: %build --compiler=clang-cl --mode=compile --arch=64 --nodefaultlib --output=%T/VariablesTest.cpp.obj %S/Inputs/VariablesTest.cpp 3RUN: %build --compiler=msvc --mode=link --arch=64 --nodefaultlib --output=%T/VariablesTest.cpp.exe %T/VariablesTest.cpp.obj 4RUN: lldb-test symbols %T/VariablesTest.cpp.exe > %T/VariablesTest.out 5RUN: FileCheck --check-prefix=GLOBALS --input-file=%T/VariablesTest.out %s 6RUN: FileCheck --check-prefix=FUNC-F --input-file=%T/VariablesTest.out %s 7RUN: FileCheck --check-prefix=FUNC-MAIN --input-file=%T/VariablesTest.out %s 8RUN: FileCheck --check-prefix=FUNC-CONSTRUCTOR --input-file=%T/VariablesTest.out %s 9RUN: FileCheck --check-prefix=FUNC-MEMBER --input-file=%T/VariablesTest.out %s 10 11GLOBALS: Module [[MOD:.*]] 12GLOBALS: SymbolFile pdb ([[MOD]]) 13GLOBALS: CompileUnit{{.*}}, language = "c++", file = '{{.*}}\VariablesTest.cpp' 14GLOBALS-DAG: Variable{{.*}}, name = "g_IntVar" 15GLOBALS-SAME: scope = global, location = {{.*}}, external 16GLOBALS-DAG: Variable{{.*}}, name = "g_pConst" 17GLOBALS-SAME: scope = global, location = {{.*}}, external 18GLOBALS-DAG: Variable{{.*}}, name = "same_name_var" 19GLOBALS-SAME: scope = global, location = {{.*}}, external 20GLOBALS-DAG: Variable{{.*}}, name = "Class::m_StaticClassMember" 21GLOBALS-SAME: scope = global, location = {{.*}}, external 22GLOBALS-DAG: Variable{{.*}}, name = "g_EnumVar" 23GLOBALS-SAME: scope = global, location = {{.*}}, external 24GLOBALS-DAG: Variable{{.*}}, name = "g_tls" 25GLOBALS-SAME: scope = thread local, location = {{.*}}, external 26GLOBALS-DAG: Variable{{.*}}, name = "ClassVar" 27GLOBALS-SAME: scope = global, location = {{.*}}, external 28GLOBALS-DAG: Variable{{.*}}, name = "g_Const" 29GLOBALS-SAME: scope = ??? (2) 30GLOBALS: Function 31 32FUNC-F: Function{{.*}}, mangled = ?f@@YAHHH@Z 33FUNC-F-NEXT: Block 34FUNC-F-NEXT: Variable{{.*}}, name = "var_arg1" 35FUNC-F-SAME: scope = parameter 36FUNC-F-NEXT: Variable{{.*}}, name = "var_arg2" 37FUNC-F-SAME: scope = parameter 38FUNC-F-NEXT: Variable{{.*}}, name = "same_name_var" 39FUNC-F-SAME: scope = local 40 41FUNC-MAIN: Function{{.*}}, mangled = main 42FUNC-MAIN-NEXT: Block 43FUNC-MAIN-NEXT: Variable{{.*}}, name = "same_name_var" 44FUNC-MAIN-SAME: scope = local 45FUNC-MAIN-NEXT: Variable{{.*}}, name = "local_const" 46FUNC-MAIN-SAME: scope = local 47FUNC-MAIN-NEXT: Variable{{.*}}, name = "local_CString" 48FUNC-MAIN-SAME: scope = local 49FUNC-MAIN-NEXT: Variable{{.*}}, name = "local_pCString" 50FUNC-MAIN-SAME: scope = local 51FUNC-MAIN-NEXT: Variable{{.*}}, name = "a" 52FUNC-MAIN-SAME: scope = local 53 54FUNC-CONSTRUCTOR: Function{{.*}}, {{(de)?}}mangled = {{.*}}{{(Class::)?}}Class{{.*}} 55FUNC-CONSTRUCTOR-NEXT: Block 56FUNC-CONSTRUCTOR-NEXT: Variable{{.*}}, name = "this" 57FUNC-CONSTRUCTOR-SAME: scope = parameter 58FUNC-CONSTRUCTOR-SAME: artificial 59FUNC-CONSTRUCTOR-NEXT: Variable{{.*}}, name = "a" 60FUNC-CONSTRUCTOR-SAME: scope = parameter 61 62FUNC-MEMBER: Function{{.*}}, {{(de)?}}mangled = {{.*}}{{(Class::)?}}Func{{.*}} 63FUNC-MEMBER-NEXT: Block 64FUNC-MEMBER-NEXT: Variable{{.*}}, name = "this" 65FUNC-MEMBER-SAME: scope = parameter 66FUNC-MEMBER-SAME: artificial 67