mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-23 12:40:17 +00:00
c4e1b13b08
Recommitting r201380 (reverted in r201389) Recommitting r201351 and r201355 (reverted in r201351 and r201355) We weren't emitting the an empty (header only) line table when the line table was empty - this made the DWARF invalid (the compile unit would point to the zero-size debug_lines section where there should've been an empty line table but there was nothing at all). Fix that, and as a consequence this works around/addresses PR18809. Also, we emit a non-empty line table to workaround a darwin linker bug, so XFAILing on darwin too. Also, mark the test as 'REQUIRES: object-emission' because it does. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@201429 91177308-0d34-0410-b5e6-96231b3b80d8
24 lines
970 B
LLVM
24 lines
970 B
LLVM
; REQUIRES: object-emission
|
|
|
|
; RUN: llc %s -o %t -filetype=obj
|
|
; RUN: llvm-dwarfdump -debug-dump=line %t | FileCheck %s
|
|
|
|
; *-win32 doesn't emit Dwarf line table.
|
|
; darwin has a workaround for a linker bug so it always emits one line table entry
|
|
; XFAIL: win32, darwin
|
|
|
|
; Expect no line table entry since there are no functions and file references in this compile unit
|
|
; CHECK: .debug_line contents:
|
|
; CHECK: Line table prologue:
|
|
; CHECK: total_length: 0x00000019
|
|
; CHECK-NOT: file_names[
|
|
|
|
!llvm.dbg.cu = !{!0}
|
|
!llvm.module.flags = !{!5}
|
|
|
|
!0 = metadata !{i32 720913, metadata !4, i32 12, metadata !"clang version 3.1 (trunk 143523)", i1 true, metadata !"", i32 0, metadata !2, metadata !2, metadata !2, metadata !2, null, metadata !""} ; [ DW_TAG_compile_unit ]
|
|
!2 = metadata !{}
|
|
!3 = metadata !{i32 786473, metadata !4} ; [ DW_TAG_file_type ]
|
|
!4 = metadata !{metadata !"empty.c", metadata !"/home/nlewycky"}
|
|
!5 = metadata !{i32 1, metadata !"Debug Info Version", i32 1}
|