xref: /llvm-project/lldb/test/Shell/SymbolFile/PDB/pointers.test (revision 20c4e95b9c03a77c2e5ce5f354114752d380c591)
1*20c4e95bSVladislav DzhidzhoevREQUIRES: target-windows, msvc
287aa9c9eSJonas DevlieghereRUN: %build --compiler=clang-cl --mode=compile --arch=32 --nodefaultlib --output=%T/PointerTypeTest.cpp.obj %S/Inputs/PointerTypeTest.cpp
387aa9c9eSJonas DevlieghereRUN: %build --compiler=msvc --mode=link --arch=32 --nodefaultlib --output=%T/PointerTypeTest.cpp.exe %T/PointerTypeTest.cpp.obj
487aa9c9eSJonas DevlieghereRUN: lldb-test symbols %T/PointerTypeTest.cpp.exe | FileCheck %s
587aa9c9eSJonas DevlieghereRUN: lldb-test symbols %T/PointerTypeTest.cpp.exe | FileCheck --check-prefix=MAIN-ST-F %s
687aa9c9eSJonas DevlieghereRUN: lldb-test symbols %T/PointerTypeTest.cpp.exe | FileCheck --check-prefix=MAIN-ST %s
787aa9c9eSJonas DevlieghereRUN: lldb-test symbols %T/PointerTypeTest.cpp.exe | FileCheck --check-prefix=MAIN %s
887aa9c9eSJonas DevlieghereRUN: lldb-test symbols %T/PointerTypeTest.cpp.exe | FileCheck --check-prefix=F %s
987aa9c9eSJonas Devlieghere
1087aa9c9eSJonas DevlieghereCHECK: Module [[MOD:.*]]
1187aa9c9eSJonas DevlieghereCHECK: {{^[0-9A-F]+}}:   CompileUnit{{[{]0x[0-9a-f]+[}]}}, language = "c++", file = '{{.*}}\PointerTypeTest.cpp'
1287aa9c9eSJonas Devlieghere
1387aa9c9eSJonas DevlieghereMAIN-ST-F:  name = "f"
1487aa9c9eSJonas DevlieghereMAIN-ST-F-SAME: decl = PointerTypeTest.cpp:8
1587aa9c9eSJonas DevlieghereMAIN-ST-F-SAME: compiler_type = {{.*}} int (int)
1687aa9c9eSJonas Devlieghere
1787aa9c9eSJonas DevlieghereMAIN-ST:  name = "ST", size = 4, decl = PointerTypeTest.cpp:6, compiler_type = {{.*}} struct ST {
1887aa9c9eSJonas DevlieghereMAIN-ST-NEXT: int a;
1987aa9c9eSJonas DevlieghereMAIN-ST-NEXT: int {{.*}}f(int);
2087aa9c9eSJonas DevlieghereMAIN-ST-NEXT:}
2187aa9c9eSJonas Devlieghere
22695c22c8SMuhammad Omair JavaidMAIN:   Function{[[FID1:.*]]}, mangled = {{_?}}main
2387aa9c9eSJonas DevlieghereMAIN-NEXT:  Block{[[FID1]]}
2487aa9c9eSJonas DevlieghereMAIN:     Variable{{.*}}, name = "array_pointer"
2587aa9c9eSJonas DevlieghereMAIN-SAME:    (int (*)[2][4]), scope = local
2687aa9c9eSJonas DevlieghereMAIN:     Variable{{.*}}, name = "p_int"
2787aa9c9eSJonas DevlieghereMAIN-SAME:    (int *), scope = local
2887aa9c9eSJonas DevlieghereMAIN:     Variable{{.*}}, name = "p_member_field"
2987aa9c9eSJonas DevlieghereMAIN-SAME:    (int ST::*), scope = local
3087aa9c9eSJonas DevlieghereMAIN:     Variable{{.*}}, name = "p_member_method"
31695c22c8SMuhammad Omair JavaidMAIN-SAME:    (int (ST::*)(int){{( __attribute__\(\(thiscall\)\))?}}), scope = local
3287aa9c9eSJonas Devlieghere
3387aa9c9eSJonas DevlieghereF:   Function{[[FID2:.*]]}, demangled = {{.*}}f(int)
3487aa9c9eSJonas DevlieghereF-NEXT:  Block{[[FID2]]}
3587aa9c9eSJonas DevlieghereF:     Variable{{.*}}, name = "this"
36891319f6SMuhammad Omair JavaidF-SAME:    (ST *), scope = parameter, location = {{(DW_OP.*)|(<empty>)}}, artificial
3787aa9c9eSJonas DevlieghereF:     Variable{{.*}}, name = "x"
3887aa9c9eSJonas DevlieghereF-SAME:    (int), scope = parameter, decl = PointerTypeTest.cpp:8
39