blob: 3204022418cb8cc014bd8ddde7ae5f9abbd53657 (
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
# Test `image dump ast` command.
# DWARF is required to properly create the AST, and on Windows that is discarded
# and we only have PDB which doesn't work for this test.
# UNSUPPORTED: system-windows
# RUN: split-file %s %t
# RUN: %clang_host -g -gdwarf %t/main.cpp -o %t.out
# RUN: %lldb -x -b -s %t/commands.input %t.out -o exit 2>&1 \
# RUN: | FileCheck %s
#--- main.cpp
void A() {}
void A1() {}
void BA1() {}
void AB() {}
int main() {
A();
A1();
BA1();
AB();
}
#--- commands.input
break set -n main
run
expr A(); A1(); BA1(); AB()
image dump ast
# CHECK: image dump ast
# CHECK-DAG: FunctionDecl {{.*}} main
# CHECK-DAG: FunctionDecl {{.*}} A
# CHECK-DAG: FunctionDecl {{.*}} A1
# CHECK-DAG: FunctionDecl {{.*}} BA1
# CHECK-DAG: FunctionDecl {{.*}} AB
image dump ast --filter A
# CHECK: image dump ast --filter A
# CHECK: Dumping A
# CHECK-NOT: FunctionDecl {{.*}} main
# CHECK-DAG: FunctionDecl {{.*}} A1
# CHECK-DAG: FunctionDecl {{.*}} BA1
# CHECK-DAG: FunctionDecl {{.*}} AB
image dump ast --filter A1
# CHECK: image dump ast --filter A1
# CHECK: Dumping A
# CHECK-NOT: FunctionDecl {{.*}} main
# CHECK-NOT: FunctionDecl {{.*}} AB
# CHECK-DAG: FunctionDecl {{.*}} A1
# CHECK-DAG: FunctionDecl {{.*}} BA1
image dump ast --filter ""
# CHECK: image dump ast --filter ""
# CHECK-DAG: FunctionDecl {{.*}} main
# CHECK-DAG: FunctionDecl {{.*}} AB
# CHECK-DAG: FunctionDecl {{.*}} A1
# CHECK-DAG: FunctionDecl {{.*}} BA1
image dump ast -f AB
# CHECK: image dump ast -f AB
# CHECK: Dumping AB
# CHECK-NOT: FunctionDecl {{.*}} main
# CHECK-NOT: FunctionDecl {{.*}} A1
# CHECK-NOT: FunctionDecl {{.*}} BA1
# CHECK: FunctionDecl {{.*}} AB
|