Generalize DWARF tests that expect DW_FORM_strp

The modified tests were failing on AIX because DWARF on AIX uses inline strings by default, but the tests check for `DW_FORM_strp`.

This patch removes `DW_FORM_strp` so both forms will pass the check.

Reviewed By: shchenz, dblaikie

Differential Revision: https://reviews.llvm.org/D112286
This commit is contained in:
Jake Egan 2021-10-26 23:42:15 -04:00
parent 5961f0308f
commit 9feb461375
4 changed files with 16 additions and 16 deletions

View File

@ -5,7 +5,7 @@
; CHECK: [[SP:.*]]: DW_TAG_structure_type
; CHECK-NOT: TAG
; CHECK: DW_AT_containing_type [DW_FORM_ref4]
; CHECK: DW_AT_name [DW_FORM_strp] {{.*}}= "vtable")
; CHECK: DW_AT_name {{.*}}= "vtable")
; The code doesn't actually matter.
define i32 @main() #0 !dbg !4 {

View File

@ -5,7 +5,7 @@
;
; CHECK: .debug_info contents:
; CHECK: [[LABEL_ORIGIN:0x[0-9a-zA-Z]+]]:{{ *}}DW_TAG_label
; CHECK-NEXT: DW_AT_name [DW_FORM_strp] {{.*}}"top"
; CHECK-NEXT: DW_AT_name {{.*}}"top"
; CHECK-NEXT: DW_AT_decl_file [DW_FORM_data1] {{.*}}debug-label-inline.c
; CHECK-NEXT: DW_AT_decl_line [DW_FORM_data1] {{.*}}8
; CHECK: DW_TAG_label

View File

@ -2,16 +2,16 @@
;
; CHECK: .debug_info contents:
; CHECK: DW_TAG_label
; CHECK-NEXT: DW_AT_name [DW_FORM_strp] {{.*}}"top"
; CHECK-NEXT: DW_AT_name {{.*}}"top"
; CHECK-NEXT: DW_AT_decl_file [DW_FORM_data1] {{.*}}debug-label.c
; CHECK-NEXT: DW_AT_decl_line [DW_FORM_data1] {{.*}}4
; CHECK-NEXT: DW_AT_low_pc [DW_FORM_addr] {{.*}}{{0x[0-9a-f]+}}
; CHECK: DW_TAG_label
; CHECK-NEXT: DW_AT_name [DW_FORM_strp] {{.*}}"done"
; CHECK-NEXT: DW_AT_name {{.*}}"done"
; CHECK-NEXT: DW_AT_decl_file [DW_FORM_data1] {{.*}}debug-label.c
; CHECK-NEXT: DW_AT_decl_line [DW_FORM_data1] {{.*}}7
; CHECK-NEXT: DW_AT_low_pc [DW_FORM_addr] {{.*}}{{0x[0-9a-f]+}}
; CHECK-NOT: DW_AT_name [DW_FORM_strp] {{.*}}"top"
; CHECK-NOT: DW_AT_name {{.*}}"top"
;
; RUN: llc -O0 -o - %s | FileCheck %s -check-prefix=ASM
;

View File

@ -3,11 +3,11 @@
; CHECK: [[TYPE:.*]]: DW_TAG_structure_type
; Make sure we correctly handle containing type of a struct being a type identifier.
; CHECK-NEXT: DW_AT_containing_type [DW_FORM_ref4] (cu + {{.*}} => {[[TYPE]]})
; CHECK-NEXT: DW_AT_name [DW_FORM_strp] {{.*}}= "C")
; CHECK-NEXT: DW_AT_name {{.*}}= "C")
; Make sure we correctly handle context of a subprogram being a type identifier.
; CHECK: [[SP:.*]]: DW_TAG_subprogram
; CHECK: DW_AT_name [DW_FORM_strp] {{.*}}= "foo")
; CHECK: DW_AT_name {{.*}}= "foo")
; Make sure we correctly handle containing type of a subprogram being a type identifier.
; CHECK: DW_AT_containing_type [DW_FORM_ref4] (cu + {{.*}} => {[[TYPE]]})
; CHECK: DW_TAG_formal_parameter
@ -15,33 +15,33 @@
; CHECK: NULL
; CHECK: [[TYPE2:.*]]: DW_TAG_structure_type
; CHECK: DW_AT_name [DW_FORM_strp] {{.*}}= "bar")
; CHECK: DW_AT_name {{.*}}= "bar")
; CHECK: DW_TAG_structure_type
; CHECK: DW_AT_name [DW_FORM_strp] {{.*}}= "D")
; CHECK: DW_AT_name {{.*}}= "D")
; CHECK: DW_TAG_member
; CHECK: DW_AT_name [DW_FORM_strp] {{.*}}= "a")
; CHECK: DW_AT_name {{.*}}= "a")
; Make sure we correctly handle context of a struct being a type identifier.
; CHECK: DW_TAG_structure_type
; CHECK-NEXT: DW_AT_name [DW_FORM_strp] {{.*}}= "Nested")
; CHECK-NEXT: DW_AT_name {{.*}}= "Nested")
; CHECK: DW_TAG_structure_type
; CHECK-NEXT: DW_AT_name [DW_FORM_strp] {{.*}}= "Nested2")
; CHECK-NEXT: DW_AT_name {{.*}}= "Nested2")
; CHECK-NEXT: DW_AT_declaration [DW_FORM_flag] (0x01)
; CHECK: DW_TAG_structure_type
; CHECK-NEXT: DW_AT_name [DW_FORM_strp] {{.*}}= "virt<bar>")
; CHECK-NEXT: DW_AT_name {{.*}}= "virt<bar>")
; Make sure we correctly handle type of a template_type being a type identifier.
; CHECK: DW_TAG_template_type_parameter
; CHECK-NEXT: DW_AT_type [DW_FORM_ref4] (cu + {{.*}} => {[[TYPE2]]}
; CHECK-NEXT: DW_AT_name [DW_FORM_strp] {{.*}}= "T")
; CHECK-NEXT: DW_AT_name {{.*}}= "T")
; Make sure we correctly handle derived-from of a typedef being a type identifier.
; CHECK: DW_TAG_typedef
; CHECK-NEXT: DW_AT_type [DW_FORM_ref4] (cu + {{.*}} => {[[TYPE2]]}
; CHECK: DW_AT_name [DW_FORM_strp] {{.*}}= "baz2")
; CHECK: DW_AT_name {{.*}}= "baz2")
; Make sure we correctly handle derived-from of a pointer type being a type identifier.
; CHECK: DW_TAG_pointer_type
; CHECK: DW_AT_type [DW_FORM_ref4] (cu + {{.*}} => {[[TYPE]]}
; CHECK: DW_TAG_typedef
; CHECK-NEXT: DW_AT_type [DW_FORM_ref4] (cu + {{.*}} => {[[TYPE2]]}
; CHECK: DW_AT_name [DW_FORM_strp] {{.*}}= "baz")
; CHECK: DW_AT_name {{.*}}= "baz")
; Make sure we correctly handle derived-from of an array type being a type identifier.
; CHECK: DW_TAG_array_type
; CHECK-NEXT: DW_AT_type [DW_FORM_ref4] (cu + {{.*}} => {[[TYPE2]]}