DebugInfo: Do not emit pubnames/pubtypes sections if they are empty
[oota-llvm.git] / test / DebugInfo / empty.ll
1 ; REQUIRES: object-emission
2
3 ; RUN: %llc_dwarf < %s -filetype=obj | llvm-dwarfdump - | FileCheck %s
4
5 ; darwin has a workaround for a linker bug so it always emits one line table entry
6 ; XFAIL: darwin
7
8 ; Expect no line table entry since there are no functions and file references in this compile unit
9 ; CHECK: .debug_line contents:
10 ; CHECK: Line table prologue:
11 ; CHECK: total_length: 0x00000019
12 ; CHECK-NOT: file_names[
13
14 ; CHECK: .debug_pubnames contents:
15 ; CHECK-NOT: Offset
16
17 ; CHECK: .debug_pubtypes contents:
18 ; CHECK-NOT: Offset
19
20 !llvm.dbg.cu = !{!0}
21 !llvm.module.flags = !{!5}
22
23 !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 ]
24 !2 = metadata !{}
25 !3 = metadata !{i32 786473, metadata !4} ; [ DW_TAG_file_type ]
26 !4 = metadata !{metadata !"empty.c", metadata !"/home/nlewycky"}
27 !5 = metadata !{i32 1, metadata !"Debug Info Version", i32 1}