
D118754 added a new DICompileUnit::DebugNameTableKind for "Apple", so that, under DWARF 5, the following combination is used inside DwarfDebug.cpp: ``` (lldb) p getAccelTableKind() (llvm::AccelTableKind) $6 = Dwarf (lldb) p CU.getNameTableKind() (llvm::DICompileUnit::DebugNameTableKind) $7 = Apple ``` This creates a problem in the if statements changed, whereby "for non Apple AccelTableKind" we emit empty tables for any DebugNameTableKind that is not "Default". We should consider the newly added kind here too. Note that our existing test could have caught this, if only it had checked the _contents_ of the table, instead of merely checking for the existence of the section. Differential Revision: https://reviews.llvm.org/D153275
24 lines
868 B
LLVM
24 lines
868 B
LLVM
; Verify the emission of accelerator tables for nameTableKind: Apple
|
|
; REQUIRES: x86-registered-target
|
|
|
|
; RUN: llc -mtriple=x86_64-apple-darwin12 -filetype=obj -o %t.d5.o < %S/Inputs/name-table-kind-apple-5.ll
|
|
; RUN: llvm-readobj --sections %t.d5.o | FileCheck --check-prefix=DEBUG_NAMES %s
|
|
; RUN: llvm-dwarfdump --debug-names %t.d5.o | FileCheck --check-prefix=COUNT_DEBUG_NAMES %s
|
|
|
|
; RUN: llc -mtriple=x86_64-apple-darwin12 -filetype=obj < %S/Inputs/name-table-kind-apple-4.ll \
|
|
; RUN: | llvm-readobj --sections - | FileCheck --check-prefix=APPLE %s
|
|
|
|
; APPLE-NOT: debug_names
|
|
; APPLE-NOT: debug{{.*}}pub
|
|
; APPLE: apple_names
|
|
; APPLE-NOT: debug_names
|
|
; APPLE-NOT: debug{{.*}}pub
|
|
|
|
; DEBUG_NAMES-NOT: apple_names
|
|
; DEBUG_NAMES-NOT: pubnames
|
|
; DEBUG_NAMES: debug_names
|
|
; DEBUG_NAMES-NOT: apple_names
|
|
; DEBUG_NAMES-NOT: pubnames
|
|
|
|
; COUNT_DEBUG_NAMES: Name count: 4
|