46 lines · plain
1REQUIRES: target-windows, msvc2RUN: mkdir -p %t.dir3RUN: %build --compiler=clang-cl --mode=compile --arch=32 --nodefaultlib --output=%t.dir/PointerTypeTest.cpp.obj %S/Inputs/PointerTypeTest.cpp4RUN: %build --compiler=msvc --mode=link --arch=32 --nodefaultlib --output=%t.dir/PointerTypeTest.cpp.exe %t.dir/PointerTypeTest.cpp.obj5 6RUN: env LLDB_USE_NATIVE_PDB_READER=0 lldb-test symbols %t.dir/PointerTypeTest.cpp.exe | FileCheck %s7RUN: env LLDB_USE_NATIVE_PDB_READER=0 lldb-test symbols %t.dir/PointerTypeTest.cpp.exe | FileCheck --check-prefix=MAIN-ST-INT %s8RUN: env LLDB_USE_NATIVE_PDB_READER=0 lldb-test symbols %t.dir/PointerTypeTest.cpp.exe | FileCheck --check-prefix=MAIN-ST-FN %s9RUN: env LLDB_USE_NATIVE_PDB_READER=0 lldb-test symbols %t.dir/PointerTypeTest.cpp.exe | FileCheck --check-prefix=MAIN %s10RUN: env LLDB_USE_NATIVE_PDB_READER=0 lldb-test symbols %t.dir/PointerTypeTest.cpp.exe | FileCheck --check-prefix=F %s11 12RUN: env LLDB_USE_NATIVE_PDB_READER=1 lldb-test symbols %t.dir/PointerTypeTest.cpp.exe | FileCheck %s13RUN: env LLDB_USE_NATIVE_PDB_READER=1 lldb-test symbols %t.dir/PointerTypeTest.cpp.exe | FileCheck --check-prefix=MAIN-ST-INT %s14RUN: env LLDB_USE_NATIVE_PDB_READER=1 lldb-test symbols %t.dir/PointerTypeTest.cpp.exe | FileCheck --check-prefix=MAIN-ST-FN %s15RUN: env LLDB_USE_NATIVE_PDB_READER=1 lldb-test symbols %t.dir/PointerTypeTest.cpp.exe | FileCheck --check-prefix=MAIN %s16RUN: env LLDB_USE_NATIVE_PDB_READER=1 lldb-test symbols %t.dir/PointerTypeTest.cpp.exe | FileCheck --check-prefix=F %s17 18CHECK: Module [[MOD:.*]]19CHECK: {{^[0-9A-F]+}}: CompileUnit{{[{]0x[0-9a-f]+[}]}}, language = "c++", file = '{{.*}}\PointerTypeTest.cpp'20 21MAIN-ST-INT-LABEL: name = "ST", size = 4, decl = PointerTypeTest.cpp:6, compiler_type = {{.*}} struct ST {22MAIN-ST-INT: int a;23MAIN-ST-INT-LABEL:}24 25MAIN-ST-FN-LABEL: name = "ST", size = 4, decl = PointerTypeTest.cpp:6, compiler_type = {{.*}} struct ST {26MAIN-ST-FN: int {{.*}}f(int);27MAIN-ST-FN-LABEL:}28 29MAIN: Function{[[FID1:.*]]}, {{(de)?}}mangled = {{_?}}main30MAIN-NEXT: Block{[[FID1]]}31MAIN: Variable{{.*}}, name = "array_pointer"32MAIN-SAME: (int (*)[2][4]), scope = local33MAIN: Variable{{.*}}, name = "p_int"34MAIN-SAME: (int *), scope = local35MAIN: Variable{{.*}}, name = "p_member_field"36MAIN-SAME: (int {{(`extern "C" main'::`2'::)?}}ST::*), scope = local37MAIN: Variable{{.*}}, name = "p_member_method"38MAIN-SAME: (int ({{(`extern "C" main'::`2'::)?}}ST::*)(int){{( __attribute__\(\(thiscall\)\))?}}), scope = local39 40F: Function{[[FID2:.*]]}, demangled = {{.*}}main::ST::f41F-NEXT: Block{[[FID2]]}42F: Variable{{.*}}, name = "this"43F-SAME: ({{(`extern "C" main'::`2'::)?}}ST *), scope = parameter, location = {{DW_OP|<empty>|0x00000000}}44F: Variable{{.*}}, name = "x"45F-SAME: (int), scope = parameter{{(, decl = PointerTypeTest.cpp:8)?}}46