## Test that yaml2obj doesn't emit .debug_* sections when the "DWARF" entry is empty.

# RUN: yaml2obj %s -o %t.o
# RUN: llvm-readelf -S %t.o | FileCheck %s

#      CHECK: There are 3 section headers, starting at offset 0x58:
#      CHECK: Section Headers:
# CHECK-NEXT:   [Nr] Name              Type            Address          Off    Size   ES Flg Lk Inf Al
# CHECK-NEXT:   [ 0]                   NULL            0000000000000000 000000 000000 00      0   0  0
# CHECK-NEXT:   [ 1] .strtab           STRTAB          0000000000000000 000040 000001 00      0   0  1
# CHECK-NEXT:   [ 2] .shstrtab         STRTAB          0000000000000000 000041 000013 00      0   0  1

--- !ELF
FileHeader:
  Class: ELFCLASS64
  Data:  ELFDATA2LSB
  Type:  ET_EXEC
DWARF:
