| 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 | FileCheck %s |
| |
| CHECK: Module [[MOD:.*]] |
| CHECK: SymbolVendor ([[MOD]]) |
| CHECK: CompileUnit{{.*}}, language = "c++", file = '{{.*}}\VariablesTest.cpp' |
| CHECK-DAG: Variable{{.*}}, name = "g_IntVar" |
| CHECK-SAME: scope = global, location = {{.*}}, external |
| CHECK-DAG: Variable{{.*}}, name = "m_StaticClassMember" |
| CHECK-SAME: scope = global, location = {{.*}}, external |
| CHECK-DAG: Variable{{.*}}, name = "g_pConst" |
| CHECK-SAME: scope = global, location = {{.*}}, external |
| CHECK-DAG: Variable{{.*}}, name = "same_name_var" |
| CHECK-SAME: scope = global, location = {{.*}}, external |
| CHECK-DAG: Variable{{.*}}, name = "g_EnumVar" |
| CHECK-SAME: scope = global, location = {{.*}}, external |
| CHECK-DAG: Variable{{.*}}, name = "g_tls" |
| CHECK-SAME: scope = thread local, location = {{.*}}, external |
| CHECK-DAG: Variable{{.*}}, name = "ClassVar" |
| CHECK-SAME: scope = global, location = {{.*}}, external |
| CHECK-DAG: Variable{{.*}}, name = "g_Const" |
| CHECK-SAME: scope = ??? (2) |
| |
| CHECK-DAG: Function{[[FID1:.*]]}, mangled = ?f@@YAHHH@Z |
| CHECK-NEXT: Block{[[FID1]]} |
| CHECK-DAG: Variable{{.*}}, name = "var_arg1" |
| CHECK-SAME: scope = parameter |
| CHECK-DAG: Variable{{.*}}, name = "var_arg2" |
| CHECK-SAME: scope = parameter |
| CHECK-DAG: Variable{{.*}}, name = "same_name_var" |
| CHECK-SAME: scope = local |
| |
| CHECK-DAG: Function{[[FID2:.*]]}, mangled = main |
| CHECK-NEXT: Block{[[FID2]]} |
| CHECK-DAG: Variable{{.*}}, name = "same_name_var" |
| CHECK-SAME: scope = local |
| CHECK-DAG: Variable{{.*}}, name = "local_const" |
| CHECK-SAME: scope = local |
| CHECK-DAG: Variable{{.*}}, name = "local_pCString" |
| CHECK-SAME: scope = local |
| CHECK-DAG: Variable{{.*}}, name = "a" |
| CHECK-SAME: scope = local |
| |
| CHECK-DAG: Function{[[FID3:.*]]}, mangled = ??0Class@@QEAA@H@Z |
| CHECK-NEXT: Block{[[FID3]]} |
| CHECK-DAG: Variable{{.*}}, name = "this" |
| CHECK-SAME: scope = parameter |
| CHECK-SAME: artificial |
| CHECK-DAG: Variable{{.*}}, name = "a" |
| CHECK-SAME: scope = parameter |
| |
| CHECK-DAG: Function{[[FID4:.*]]}, mangled = ?Func@Class@@QEAAXXZ |
| CHECK-NEXT: Block{[[FID4]]} |
| CHECK-DAG: Variable{{.*}}, name = "this" |
| CHECK-SAME: scope = parameter |
| CHECK-SAME: artificial |