diff options
author | David Blaikie <dblaikie@gmail.com> | 2014-05-23 21:11:46 +0000 |
---|---|---|
committer | David Blaikie <dblaikie@gmail.com> | 2014-05-23 21:11:46 +0000 |
commit | 1288a3b8e63b7704f7b70ec64fdc3e31d7f09b91 (patch) | |
tree | 06bd58a2309da600eadeeef819659aa85ebd1b99 /test/DebugInfo/X86/gnu-public-names.ll | |
parent | 3b39845adfcfff861198db9f8ef0267bcee44f0a (diff) | |
download | llvm-1288a3b8e63b7704f7b70ec64fdc3e31d7f09b91.tar.gz llvm-1288a3b8e63b7704f7b70ec64fdc3e31d7f09b91.tar.bz2 llvm-1288a3b8e63b7704f7b70ec64fdc3e31d7f09b91.tar.xz |
DebugInfo: Generalize some tests to handle variations in attribute ordering.
In an effort to fix inlined debug info in situations where the out of
line definition of a function preceeds any inlined usage, the order in
which some attributes are added to subprogram DIEs may change. (in
essence, definition-necessary attributes like DW_AT_low_pc/high_pc will
be added immediately, but the names, types, and other features will be
delayed to module end where they may either be added to the subprogram
DIE or instead reference an abstract definition for those values)
These tests can be generalized to be resilient to this change. 5 or so
tests actually have to be incompatibly changed to cope with this
reordering and will go along with the change that affects the order.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@209554 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/DebugInfo/X86/gnu-public-names.ll')
-rw-r--r-- | test/DebugInfo/X86/gnu-public-names.ll | 36 |
1 files changed, 24 insertions, 12 deletions
diff --git a/test/DebugInfo/X86/gnu-public-names.ll b/test/DebugInfo/X86/gnu-public-names.ll index f4001e3af9..4e35dbe2b5 100644 --- a/test/DebugInfo/X86/gnu-public-names.ll +++ b/test/DebugInfo/X86/gnu-public-names.ll @@ -86,8 +86,10 @@ ; CHECK-NEXT: DW_AT_name {{.*}} "D" ; CHECK: [[GLOB_NS_FUNC:[0-9a-f]+]]: DW_TAG_subprogram -; CHECK-NEXT: DW_AT_MIPS_linkage_name -; CHECK-NEXT: DW_AT_name {{.*}} "global_namespace_function" +; CHECK-NOT: DW_TAG +; CHECK: DW_AT_MIPS_linkage_name +; CHECK-NOT: DW_TAG +; CHECK: DW_AT_name {{.*}} "global_namespace_function" ; CHECK: [[GLOB_NS_VAR:[0-9a-f]+]]: DW_TAG_variable ; CHECK-NEXT: DW_AT_specification {{.*}}[[GLOB_NS_VAR_DECL]] @@ -96,14 +98,18 @@ ; CHECK-NEXT: DW_AT_specification {{.*}}[[D_VAR_DECL]] ; CHECK: [[MEM_FUNC:[0-9a-f]+]]: DW_TAG_subprogram -; CHECK-NEXT: DW_AT_specification {{.*}}[[MEM_FUNC_DECL]] +; CHECK-NOT: DW_TAG +; CHECK: DW_AT_specification {{.*}}[[MEM_FUNC_DECL]] ; CHECK: [[STATIC_MEM_FUNC:[0-9a-f]+]]: DW_TAG_subprogram -; CHECK-NEXT: DW_AT_specification {{.*}}[[STATIC_MEM_FUNC_DECL]] +; CHECK-NOT: DW_TAG +; CHECK: DW_AT_specification {{.*}}[[STATIC_MEM_FUNC_DECL]] ; CHECK: [[GLOBAL_FUNC:[0-9a-f]+]]: DW_TAG_subprogram -; CHECK-NEXT: DW_AT_MIPS_linkage_name -; CHECK-NEXT: DW_AT_name {{.*}} "global_function" +; CHECK-NOT: DW_TAG +; CHECK: DW_AT_MIPS_linkage_name +; CHECK-NOT: DW_TAG +; CHECK: DW_AT_name {{.*}} "global_function" ; CHECK-LABEL: .debug_gnu_pubnames contents: ; CHECK-NEXT: length = 0x000000e7 version = 0x0002 unit_offset = 0x00000000 unit_size = [[UNIT_SIZE]] @@ -166,8 +172,10 @@ ; DWARF3-NEXT: DW_AT_name {{.*}} "D" ; DWARF3: [[GLOB_NS_FUNC:[0-9a-f]+]]: DW_TAG_subprogram -; DWARF3-NEXT: DW_AT_MIPS_linkage_name -; DWARF3-NEXT: DW_AT_name {{.*}} "global_namespace_function" +; DWARF3-NOT: DW_TAG +; DWARF3: DW_AT_MIPS_linkage_name +; DWARF3-NOT: DW_TAG +; DWARF3: DW_AT_name {{.*}} "global_namespace_function" ; DWARF3: [[GLOB_NS_VAR:[0-9a-f]+]]: DW_TAG_variable ; DWARF3-NEXT: DW_AT_specification {{.*}}[[GLOB_NS_VAR_DECL]] @@ -176,14 +184,18 @@ ; DWARF3-NEXT: DW_AT_specification {{.*}}[[D_VAR_DECL]] ; DWARF3: [[MEM_FUNC:[0-9a-f]+]]: DW_TAG_subprogram -; DWARF3-NEXT: DW_AT_specification {{.*}}[[MEM_FUNC_DECL]] +; DWARF3-NOT: DW_TAG +; DWARF3: DW_AT_specification {{.*}}[[MEM_FUNC_DECL]] ; DWARF3: [[STATIC_MEM_FUNC:[0-9a-f]+]]: DW_TAG_subprogram -; DWARF3-NEXT: DW_AT_specification {{.*}}[[STATIC_MEM_FUNC_DECL]] +; DWARF3-NOT: DW_TAG +; DWARF3: DW_AT_specification {{.*}}[[STATIC_MEM_FUNC_DECL]] ; DWARF3: [[GLOBAL_FUNC:[0-9a-f]+]]: DW_TAG_subprogram -; DWARF3-NEXT: DW_AT_MIPS_linkage_name -; DWARF3-NEXT: DW_AT_name {{.*}} "global_function" +; DWARF3-NOT: DW_TAG +; DWARF3: DW_AT_MIPS_linkage_name +; DWARF3-NOT: DW_TAG +; DWARF3: DW_AT_name {{.*}} "global_function" ; DWARF3-LABEL: .debug_gnu_pubnames contents: ; DWARF3-NEXT: length = 0x000000e7 version = 0x0002 unit_offset = 0x00000000 unit_size = [[UNIT_SIZE]] |