summaryrefslogtreecommitdiff
path: root/lldb/lit/SymbolFile/PDB/pointers.test
blob: 03e31c4ff3c47b67a727c9b376ce5e41efb8c27d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
REQUIRES: windows
RUN: clang-cl -m32 /Z7 /c /GS- %S/Inputs/PointerTypeTest.cpp /o %T/PointerTypeTest.cpp.obj
RUN: link %T/PointerTypeTest.cpp.obj /DEBUG /nodefaultlib /ENTRY:main /OUT:%T/PointerTypeTest.cpp.exe
RUN: lldb-test symbols %T/PointerTypeTest.cpp.exe | FileCheck %s
RUN: lldb-test symbols %T/PointerTypeTest.cpp.exe | FileCheck --check-prefix=MAIN-ST-F %s
RUN: lldb-test symbols %T/PointerTypeTest.cpp.exe | FileCheck --check-prefix=MAIN-ST %s
RUN: lldb-test symbols %T/PointerTypeTest.cpp.exe | FileCheck --check-prefix=MAIN %s
RUN: lldb-test symbols %T/PointerTypeTest.cpp.exe | FileCheck --check-prefix=F %s

CHECK: Module [[MOD:.*]]
CHECK: {{^[0-9A-F]+}}:   CompileUnit{{[{]0x[0-9a-f]+[}]}}, language = "c++", file = '{{.*}}\PointerTypeTest.cpp'

MAIN-ST-F:  name = "f"
MAIN-ST-F-SAME: decl = PointerTypeTest.cpp:8
MAIN-ST-F-SAME: compiler_type = {{.*}} int (int)

MAIN-ST:  name = "ST", size = 4, decl = PointerTypeTest.cpp:6, compiler_type = {{.*}} struct ST {
MAIN-ST-NEXT: int a;
MAIN-ST-NEXT: int {{.*}}f(int);
MAIN-ST-NEXT:}

MAIN:   Function{[[FID1:.*]]}, mangled = _main
MAIN-NEXT:  Block{[[FID1]]}
MAIN:     Variable{{.*}}, name = "array_pointer"
MAIN-SAME:    (int (*)[2][4]), scope = local
MAIN:     Variable{{.*}}, name = "p_int"
MAIN-SAME:    (int *), scope = local
MAIN:     Variable{{.*}}, name = "p_member_field"
MAIN-SAME:    (int ST::*), scope = local
MAIN:     Variable{{.*}}, name = "p_member_method"
MAIN-SAME:    (int (ST::*)(int) __attribute__((thiscall))), scope = local

F:   Function{[[FID2:.*]]}, demangled = {{.*}}f(int)
F-NEXT:  Block{[[FID2]]}
F:     Variable{{.*}}, name = "this"
F-SAME:    (ST *), scope = parameter, location = {{.*}}, artificial
F:     Variable{{.*}}, name = "x"
F-SAME:    (int), scope = parameter, decl = PointerTypeTest.cpp:8