blob: 3204022418cb8cc014bd8ddde7ae5f9abbd53657 [file] [log] [blame]
# 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