|
1 | 1 | ## Tests the --filter-child-tag (-t) option. |
| 2 | + |
2 | 3 | # RUN: yaml2obj %s -o %t.o |
| 4 | + |
3 | 5 | # RUN: llvm-dwarfdump %t.o --filter-child-tag=DW_TAG_structure_type | FileCheck %s --check-prefix=ONLY_STRUCT |
4 | | -# RUN: llvm-dwarfdump %t.o -t DW_TAG_structure_type -t DW_TAG_namespace | FileCheck %s --check-prefix=STRUCT_AND_NS --implicit-check-not=DW_TAG_subprogram --implicit-check-not=DW_TAG_member |
5 | | -# RUN: llvm-dwarfdump %t.o -c --name=Foo -t DW_TAG_member | FileCheck %s --check-prefix=FOO_MEM --implicit-check-not=DW_TAG_compile_unit --implicit-check-not=DW_TAG_subprogram --implicit-check-not=DW_TAG_namespace |
6 | | -# RUN: llvm-dwarfdump %t.o -c --name=Foo -t not_a_tag -t DW_TAG_member | FileCheck %s --check-prefix=SINGLE_INVALID_TAG --implicit-check-not=DW_TAG_compile_unit --implicit-check-not=DW_TAG_subprogram --implicit-check-not=DW_TAG_namespace |
7 | | -# RUN: llvm-dwarfdump %t.o -c --name=Foo -t not_a_tag | FileCheck %s --check-prefix=ONLY_INVALID_TAGS --implicit-check-not=DW_TAG_compile_unit --implicit-check-not=DW_TAG_subprogram --implicit-check-not=DW_TAG_namespace --implicit-check-not=DW_TAG_member |
8 | | -# RUN: llvm-dwarfdump %t.o -c -p --name=Foo -t DW_TAG_member | FileCheck %s --check-prefix=FOO_MEM_WITH_PARENT --implicit-check-not=DW_TAG_subprogram |
9 | | -# RUN: not llvm-dwarfdump %t.o --name=Foo -t DW_TAG_member 2>&1 | FileCheck %s --check-prefix=ERROR_NO_SHOW_CHILDREN |
10 | 6 |
|
11 | 7 | # ONLY_STRUCT: DW_TAG_compile_unit |
12 | 8 | # ONLY_STRUCT-NOT: DW_TAG_namespace |
13 | 9 | # ONLY_STRUCT-NOT: DW_TAG_structure_type |
14 | 10 |
|
| 11 | +# RUN: llvm-dwarfdump %t.o -t DW_TAG_structure_type -t DW_TAG_namespace | \ |
| 12 | +# RUN: FileCheck %s --check-prefix=STRUCT_AND_NS --implicit-check-not=DW_TAG_subprogram --implicit-check-not=DW_TAG_member |
| 13 | + |
15 | 14 | # STRUCT_AND_NS: DW_TAG_compile_unit |
16 | 15 | # STRUCT_AND_NS: DW_TAG_namespace |
17 | 16 | # STRUCT_AND_NS: DW_TAG_structure_type |
18 | 17 | # STRUCT_AND_NS: DW_TAG_structure_type |
19 | 18 |
|
| 19 | +# RUN: llvm-dwarfdump %t.o -c --name=Foo -t DW_TAG_member | \ |
| 20 | +# RUN: FileCheck %s --check-prefix=FOO_MEM --implicit-check-not=DW_TAG_compile_unit --implicit-check-not=DW_TAG_subprogram --implicit-check-not=DW_TAG_namespace |
| 21 | + |
20 | 22 | # FOO_MEM: DW_TAG_structure_type |
21 | 23 | # FOO_MEM: DW_TAG_member |
22 | 24 | # FOO_MEM: DW_TAG_member |
23 | 25 | # FOO_MEM: DW_TAG_member |
24 | 26 | # FOO_MEM-NOT: DW_TAG_structure_type |
25 | 27 | # FOO_MEM-NOT: DW_TAG_member |
26 | 28 |
|
| 29 | +# RUN: llvm-dwarfdump %t.o -c --name=Foo -t not_a_tag -t DW_TAG_member | \ |
| 30 | +# RUN: FileCheck %s --check-prefix=SINGLE_INVALID_TAG --implicit-check-not=DW_TAG_compile_unit --implicit-check-not=DW_TAG_subprogram --implicit-check-not=DW_TAG_namespace |
| 31 | + |
27 | 32 | # SINGLE_INVALID_TAG: DW_TAG_structure_type |
28 | 33 | # SINGLE_INVALID_TAG: DW_TAG_member |
29 | 34 | # SINGLE_INVALID_TAG: DW_TAG_member |
30 | 35 | # SINGLE_INVALID_TAG: DW_TAG_member |
31 | 36 | # SINGLE_INVALID_TAG-NOT: DW_TAG_structure_type |
32 | 37 | # SINGLE_INVALID_TAG-NOT: DW_TAG_member |
33 | 38 |
|
| 39 | +# RUN: llvm-dwarfdump %t.o -c --name=Foo -t not_a_tag | \ |
| 40 | +# RUN: FileCheck %s --check-prefix=ONLY_INVALID_TAGS --implicit-check-not=DW_TAG_compile_unit --implicit-check-not=DW_TAG_subprogram --implicit-check-not=DW_TAG_namespace --implicit-check-not=DW_TAG_member |
| 41 | + |
34 | 42 | # ONLY_INVALID_TAGS: DW_TAG_structure_type |
35 | 43 | # ONLY_INVALID_TAGS-NOT: DW_TAG_structure_type |
36 | 44 |
|
| 45 | +# RUN: llvm-dwarfdump %t.o -c -p --name=Foo -t DW_TAG_member | \ |
| 46 | +# RUN: FileCheck %s --check-prefix=FOO_MEM_WITH_PARENT --implicit-check-not=DW_TAG_subprogram |
| 47 | + |
37 | 48 | # FOO_MEM_WITH_PARENT: DW_TAG_compile_unit |
38 | 49 | # FOO_MEM_WITH_PARENT: DW_TAG_namespace |
39 | 50 | # FOO_MEM_WITH_PARENT: DW_TAG_structure_type |
|
43 | 54 | # FOO_MEM_WITH_PARENT-NOT: DW_TAG_structure_type |
44 | 55 | # FOO_MEM_WITH_PARENT-NOT: DW_TAG_member |
45 | 56 |
|
| 57 | +# RUN: not llvm-dwarfdump %t.o --name=Foo -t DW_TAG_member 2>&1 | FileCheck %s --check-prefix=ERROR_NO_SHOW_CHILDREN |
| 58 | + |
46 | 59 | # ERROR_NO_SHOW_CHILDREN: incompatible arguments: --filter-child-tag requires --show-children |
47 | 60 |
|
48 | 61 | --- !ELF |
|
0 commit comments