diff options
Diffstat (limited to 'test/DebugInfo')
-rw-r--r-- | test/DebugInfo/X86/DW_AT_byte_size.ll | 1 | ||||
-rw-r--r-- | test/DebugInfo/X86/debug-info-blocks.ll | 2 | ||||
-rw-r--r-- | test/DebugInfo/X86/empty-and-one-elem-array.ll | 30 | ||||
-rw-r--r-- | test/DebugInfo/X86/empty-array.ll | 23 | ||||
-rw-r--r-- | test/DebugInfo/X86/gnu-public-names.ll | 6 | ||||
-rw-r--r-- | test/DebugInfo/X86/nondefault-subrange-array.ll | 23 | ||||
-rw-r--r-- | test/DebugInfo/X86/subrange-type.ll | 6 | ||||
-rw-r--r-- | test/DebugInfo/member-pointers.ll | 6 | ||||
-rw-r--r-- | test/DebugInfo/tu-member-pointer.ll | 4 |
9 files changed, 54 insertions, 47 deletions
diff --git a/test/DebugInfo/X86/DW_AT_byte_size.ll b/test/DebugInfo/X86/DW_AT_byte_size.ll index 6bc907510a..faf5055e88 100644 --- a/test/DebugInfo/X86/DW_AT_byte_size.ll +++ b/test/DebugInfo/X86/DW_AT_byte_size.ll @@ -5,6 +5,7 @@ ; CHECK: DW_TAG_pointer_type ; CHECK-NEXT: DW_AT_type ; CHECK-NOT: DW_AT_byte_size +; CHECK: DW_TAG ; CHECK: .debug_info contents %struct.A = type { i32 } diff --git a/test/DebugInfo/X86/debug-info-blocks.ll b/test/DebugInfo/X86/debug-info-blocks.ll index 1ddc400474..15e9bb84b5 100644 --- a/test/DebugInfo/X86/debug-info-blocks.ll +++ b/test/DebugInfo/X86/debug-info-blocks.ll @@ -26,7 +26,7 @@ ; 0x23 = DW_OP_uconst ; 0x91 = DW_OP_fbreg ; CHECK: DW_AT_location{{.*}}91 {{[0-9]+}} 06 23 {{[0-9]+}} ) -; CHECK: DW_TAG_structure_type + ; CHECK: [[A:.*]]: DW_TAG_structure_type ; CHECK-NEXT: DW_AT_APPLE_objc_complete_type ; CHECK-NEXT: DW_AT_name{{.*}}"A" diff --git a/test/DebugInfo/X86/empty-and-one-elem-array.ll b/test/DebugInfo/X86/empty-and-one-elem-array.ll index 57e0e18e77..1ccd13b7ae 100644 --- a/test/DebugInfo/X86/empty-and-one-elem-array.ll +++ b/test/DebugInfo/X86/empty-and-one-elem-array.ll @@ -28,37 +28,41 @@ declare void @llvm.dbg.declare(metadata, metadata) nounwind readnone ; An empty array should not have an AT_upper_bound attribute. But an array of 1 ; should. -; CHECK: DW_TAG_base_type [5] +; CHECK: DW_TAG_base_type ; CHECK-NEXT: DW_AT_name [DW_FORM_strp] ( .debug_str[{{.*}}] = "int") ; CHECK-NEXT: DW_AT_encoding [DW_FORM_data1] (0x05) ; CHECK-NEXT: DW_AT_byte_size [DW_FORM_data1] (0x04) +; int foo::b[1]: +; CHECK: DW_TAG_structure_type +; CHECK: DW_AT_name{{.*}}"foo" +; CHECK: DW_TAG_member +; CHECK: DW_TAG_member +; CHECK-NEXT: DW_AT_name [DW_FORM_strp] ( .debug_str[{{.*}}] = "b") +; CHECK-NEXT: DW_AT_type [DW_FORM_ref4] + ; int[1]: -; CHECK: DW_TAG_array_type [7] * +; CHECK: DW_TAG_array_type [{{.*}}] * ; CHECK-NEXT: DW_AT_type [DW_FORM_ref4] -; CHECK: DW_TAG_subrange_type [8] +; CHECK: DW_TAG_subrange_type [{{.*}}] ; CHECK-NEXT: DW_AT_type [DW_FORM_ref4] ; CHECK-NEXT: DW_AT_upper_bound [DW_FORM_data1] (0x00) -; int foo::b[1]: -; CHECK: DW_TAG_member [10] -; CHECK: DW_TAG_member [10] +; int bar::b[0]: +; CHECK: DW_TAG_structure_type +; CHECK: DW_AT_name{{.*}}"bar" +; CHECK: DW_TAG_member +; CHECK: DW_TAG_member ; CHECK-NEXT: DW_AT_name [DW_FORM_strp] ( .debug_str[{{.*}}] = "b") ; CHECK-NEXT: DW_AT_type [DW_FORM_ref4] ; int[0]: -; CHECK: DW_TAG_array_type [7] * +; CHECK: DW_TAG_array_type [{{.*}}] * ; CHECK-NEXT: DW_AT_type [DW_FORM_ref4] ; CHECK: DW_TAG_subrange_type [11] ; CHECK-NEXT: DW_AT_type [DW_FORM_ref4] ; CHECK-NOT: DW_AT_upper_bound -; int bar::b[0]: -; CHECK: DW_TAG_member [10] -; CHECK: DW_TAG_member [10] -; CHECK-NEXT: DW_AT_name [DW_FORM_strp] ( .debug_str[{{.*}}] = "b") -; CHECK-NEXT: DW_AT_type [DW_FORM_ref4] - !llvm.dbg.cu = !{!0} !0 = metadata !{i32 786449, metadata !32, i32 12, metadata !"clang version 3.3 (trunk 169136)", i1 false, metadata !"", i32 0, metadata !1, metadata !1, metadata !3, metadata !1, metadata !1, metadata !""} ; [ DW_TAG_compile_unit ] [/Volumes/Sandbox/llvm/test.c] [DW_LANG_C99] diff --git a/test/DebugInfo/X86/empty-array.ll b/test/DebugInfo/X86/empty-array.ll index 64ad768c29..168a10a5e1 100644 --- a/test/DebugInfo/X86/empty-array.ll +++ b/test/DebugInfo/X86/empty-array.ll @@ -6,22 +6,23 @@ @a = global %class.A zeroinitializer, align 4 -; CHECK: [[BASETYPE:0x[0-9a-f]*]]: DW_TAG_base_type -; CHECK: [[BASE2:0x[0-9a-f]*]]: DW_TAG_base_type -; CHECK-NEXT: DW_AT_name -; CHECK-NEXT: DW_AT_byte_size [DW_FORM_data1] (0x04) -; CHECK-NEXT: DW_AT_encoding [DW_FORM_data1] (0x05) +; CHECK: DW_TAG_class_type +; CHECK: DW_TAG_member +; CHECK-NEXT: DW_AT_name [DW_FORM_strp] ( .debug_str[0x{{[0-9a-f]*}}] = "x") +; CHECK-NEXT: DW_AT_type [DW_FORM_ref4] (cu + 0x{{[0-9a-f]*}} => {[[ARRAY:0x[0-9a-f]*]]}) -; CHECK: [[ARRAY:0x[0-9a-f]*]]: DW_TAG_array_type [{{.*}}] * -; CHECK-NEXT: DW_AT_type [DW_FORM_ref4] (cu + 0x{{[0-9a-f]*}} => {[[BASETYPE]]}) +; CHECK: [[ARRAY]]: DW_TAG_array_type [{{.*}}] * +; CHECK-NEXT: DW_AT_type [DW_FORM_ref4] (cu + 0x{{[0-9a-f]*}} => {[[BASETYPE:0x[0-9a-f]*]]}) ; CHECK: DW_TAG_subrange_type -; CHECK-NEXT: DW_AT_type [DW_FORM_ref4] (cu + 0x{{[0-9a-f]*}} => {[[BASE2]]}) +; CHECK-NEXT: DW_AT_type [DW_FORM_ref4] (cu + 0x{{[0-9a-f]*}} => {[[BASE2:0x[0-9a-f]*]]}) ; CHECK-NOT: DW_AT_upper_bound -; CHECK: DW_TAG_member -; CHECK-NEXT: DW_AT_name [DW_FORM_strp] ( .debug_str[0x{{[0-9a-f]*}}] = "x") -; CHECK-NEXT: DW_AT_type [DW_FORM_ref4] (cu + 0x{{[0-9a-f]*}} => {[[ARRAY]]}) +; CHECK: [[BASETYPE]]: DW_TAG_base_type +; CHECK: [[BASE2]]: DW_TAG_base_type +; CHECK-NEXT: DW_AT_name +; CHECK-NEXT: DW_AT_byte_size [DW_FORM_data1] (0x04) +; CHECK-NEXT: DW_AT_encoding [DW_FORM_data1] (0x05) !llvm.dbg.cu = !{!0} diff --git a/test/DebugInfo/X86/gnu-public-names.ll b/test/DebugInfo/X86/gnu-public-names.ll index bc701add75..34f42a0922 100644 --- a/test/DebugInfo/X86/gnu-public-names.ll +++ b/test/DebugInfo/X86/gnu-public-names.ll @@ -48,9 +48,6 @@ ; CHECK: DW_AT_GNU_pubnames [DW_FORM_sec_offset] (0x00000000) ; CHECK: DW_AT_GNU_pubtypes [DW_FORM_sec_offset] (0x00000000) -; CHECK: [[INT:[0-9a-f]+]]: DW_TAG_base_type -; CHECK-NEXT: DW_AT_name {{.*}} "int" - ; CHECK: [[C:[0-9a-f]+]]: DW_TAG_structure_type ; CHECK-NEXT: DW_AT_name {{.*}} "C" @@ -65,6 +62,9 @@ ; CHECK-NEXT: DW_AT_MIPS_linkage_name ; CHECK-NEXT: DW_AT_name {{.*}} "static_member_function" +; CHECK: [[INT:[0-9a-f]+]]: DW_TAG_base_type +; CHECK-NEXT: DW_AT_name {{.*}} "int" + ; CHECK: [[STATIC_MEM_VAR:[0-9a-f]+]]: DW_TAG_variable ; CHECK-NEXT: DW_AT_specification {{.*}}[[STATIC_MEM_DECL]] diff --git a/test/DebugInfo/X86/nondefault-subrange-array.ll b/test/DebugInfo/X86/nondefault-subrange-array.ll index 12934ced47..236a4c7ebc 100644 --- a/test/DebugInfo/X86/nondefault-subrange-array.ll +++ b/test/DebugInfo/X86/nondefault-subrange-array.ll @@ -8,23 +8,24 @@ ; Check that we can handle non-default array bounds. In this case, the array ; goes from [-3, 38]. -; CHECK: [[BASE:0x[0-9a-f]*]]: DW_TAG_base_type -; CHECK: [[BASE2:0x[0-9a-f]*]]: DW_TAG_base_type -; CHECK-NEXT: DW_AT_name [DW_FORM_strp] ( .debug_str[0x{{[0-9a-f]*}}] = "int") -; CHECK-NEXT: DW_AT_byte_size [DW_FORM_data1] (0x04) -; CHECK-NEXT: DW_AT_encoding [DW_FORM_data1] (0x05) +; CHECK: DW_TAG_class_type +; CHECK: DW_TAG_member +; CHECK-NEXT: DW_AT_name [DW_FORM_strp] ( .debug_str[0x{{[0-9a-f]*}}] = "x") +; CHECK-NEXT: DW_AT_type [DW_FORM_ref4] (cu + 0x{{[0-9a-f]*}} => {[[ARRAY:0x[0-9a-f]*]]}) -; CHECK: [[ARRAY:0x[0-9a-f]*]]: DW_TAG_array_type [{{.*}}] * -; CHECK-NEXT: DW_AT_type [DW_FORM_ref4] (cu + 0x{{[0-9a-f]*}} => {[[BASE]]}) +; CHECK: [[ARRAY]]: DW_TAG_array_type [{{.*}}] * +; CHECK-NEXT: DW_AT_type [DW_FORM_ref4] (cu + 0x{{[0-9a-f]*}} => {[[BASE:0x[0-9a-f]*]]}) ; CHECK: DW_TAG_subrange_type -; CHECK-NEXT: DW_AT_type [DW_FORM_ref4] (cu + 0x{{[0-9a-f]*}} => {[[BASE2]]}) +; CHECK-NEXT: DW_AT_type [DW_FORM_ref4] (cu + 0x{{[0-9a-f]*}} => {[[BASE2:0x[0-9a-f]*]]}) ; CHECK-NEXT: DW_AT_lower_bound [DW_FORM_data8] (0xfffffffffffffffd) ; CHECK-NEXT: DW_AT_upper_bound [DW_FORM_data1] (0x26) -; CHECK: DW_TAG_member -; CHECK-NEXT: DW_AT_name [DW_FORM_strp] ( .debug_str[0x{{[0-9a-f]*}}] = "x") -; CHECK-NEXT: DW_AT_type [DW_FORM_ref4] (cu + 0x{{[0-9a-f]*}} => {[[ARRAY]]}) +; CHECK: [[BASE]]: DW_TAG_base_type +; CHECK: [[BASE2]]: DW_TAG_base_type +; CHECK-NEXT: DW_AT_name [DW_FORM_strp] ( .debug_str[0x{{[0-9a-f]*}}] = "int") +; CHECK-NEXT: DW_AT_byte_size [DW_FORM_data1] (0x04) +; CHECK-NEXT: DW_AT_encoding [DW_FORM_data1] (0x05) !llvm.dbg.cu = !{!0} diff --git a/test/DebugInfo/X86/subrange-type.ll b/test/DebugInfo/X86/subrange-type.ll index 7fd273b7fd..e873771967 100644 --- a/test/DebugInfo/X86/subrange-type.ll +++ b/test/DebugInfo/X86/subrange-type.ll @@ -2,10 +2,10 @@ ; RUN: llvm-dwarfdump -debug-dump=info %t | FileCheck %s ; Make sure that the base type from the subrange type has a name. -; CHECK: 0x0000006b: DW_TAG_base_type [6] +; CHECK: DW_TAG_subrange_type +; CHECK-NEXT: DW_AT_type [DW_FORM_ref4] (cu + 0x{{[0-9a-f]+}} => {[[SUBTYPE:0x[0-9a-f]*]]}) +; CHECK: [[SUBTYPE]]: DW_TAG_base_type ; CHECK-NEXT: DW_AT_name -; CHECK: DW_TAG_subrange_type [8] -; CHECK-NEXT: DW_AT_type [DW_FORM_ref4] (cu + 0x006b => {0x0000006b}) define i32 @main() nounwind uwtable { entry: diff --git a/test/DebugInfo/member-pointers.ll b/test/DebugInfo/member-pointers.ll index 42b57f572b..548fadd2cc 100644 --- a/test/DebugInfo/member-pointers.ll +++ b/test/DebugInfo/member-pointers.ll @@ -4,12 +4,12 @@ ; RUN: llc -filetype=obj -O0 < %s > %t ; RUN: llvm-dwarfdump -debug-dump=info %t | FileCheck %s ; CHECK: DW_TAG_ptr_to_member_type -; CHECK: [[TYPE:.*]]: DW_TAG_subroutine_type +; CHECK: DW_TAG_ptr_to_member_type +; CHECK-NEXT: DW_AT_type [DW_FORM_ref4] (cu + {{.*}} => {[[TYPE:0x[0-9a-f]+]]}) +; CHECK: [[TYPE]]: DW_TAG_subroutine_type ; CHECK: DW_TAG_formal_parameter ; CHECK-NEXT: DW_AT_type ; CHECK-NEXT: DW_AT_artificial [DW_FORM_flag -; CHECK: DW_TAG_ptr_to_member_type -; CHECK-NEXT: DW_AT_type [DW_FORM_ref4] (cu + {{.*}} => {[[TYPE]]}) ; IR generated from clang -g with the following source: ; struct S { ; }; diff --git a/test/DebugInfo/tu-member-pointer.ll b/test/DebugInfo/tu-member-pointer.ll index b8f6719bc3..9be9851ef9 100644 --- a/test/DebugInfo/tu-member-pointer.ll +++ b/test/DebugInfo/tu-member-pointer.ll @@ -2,9 +2,9 @@ ; RUN: llc -filetype=obj -O0 < %s > %t ; RUN: llvm-dwarfdump -debug-dump=info %t | FileCheck %s -; CHECK: [[TYPE:.*]]: DW_TAG_base_type ; CHECK: DW_TAG_ptr_to_member_type -; CHECK-NEXT: DW_AT_type [DW_FORM_ref4] (cu + {{.*}} => {[[TYPE]]}) +; CHECK-NEXT: DW_AT_type [DW_FORM_ref4] (cu + {{.*}} => {[[TYPE:0x[0-9a-f]+]]}) +; CHECK: [[TYPE]]: DW_TAG_base_type ; IR generated from clang -g with the following source: ; struct Foo { ; int e; |