# RUN: llvm-mc %s -filetype obj -triple x86_64-unknown-linux-gnu -o - \
# RUN: | not llvm-dwarfdump -verify - \
# RUN: | FileCheck %s

# CHECK: Verifying .debug_abbrev...
# CHECK-NEXT: error: Abbreviation declaration contains multiple DW_AT_stmt_list attributes.
# CHECK-NEXT:[1] DW_TAG_compile_unit	DW_CHILDREN_no
# CHECK-NEXT:	DW_AT_stmt_list	DW_FORM_sec_offset
# CHECK-NEXT:	DW_AT_GNU_dwo_name	DW_FORM_strp
# CHECK-NEXT:	DW_AT_stmt_list	DW_FORM_strp{{[[:space:]]}}
# CHECK-NEXT: error: Abbreviation declaration contains multiple DW_AT_producer attributes.
# CHECK-NEXT:[1] DW_TAG_compile_unit	DW_CHILDREN_yes
# CHECK-NEXT:	DW_AT_GNU_dwo_name	DW_FORM_GNU_str_index
# CHECK-NEXT:	DW_AT_producer	DW_FORM_GNU_str_index
# CHECK-NEXT:	DW_AT_producer	DW_FORM_data2


  .section  .debug_abbrev,"",@progbits
  .byte  1                       # Abbreviation Code
  .byte  17                      # DW_TAG_compile_unit
  .byte  0                       # DW_CHILDREN_no
  .byte  16                      # DW_AT_stmt_list
  .byte  23                      # DW_FORM_sec_offset
  .ascii  "\260B"                # DW_AT_GNU_dwo_name
  .byte  14                      # DW_FORM_strp
  .byte  16                      # DW_AT_stmt_list -- Error: Abbreviation declaration contains multiple DW_AT_stmt_list attributes.
  .byte  14                      # DW_FORM_strp
  .byte  0                       # EOM(1)
  .byte  0                       # EOM(2)
  .byte  0                       # EOM(3)
  .section  .debug_abbrev.dwo,"e",@progbits
  .byte  1                       # Abbreviation Code
  .byte  17                      # DW_TAG_compile_unit
  .byte  1                       # DW_CHILDREN_yes
  .ascii  "\260B"                # DW_AT_GNU_dwo_name
  .ascii  "\202>"                # DW_FORM_GNU_str_index
  .byte  37                      # DW_AT_producer
  .ascii  "\202>"                # DW_FORM_GNU_str_index
  .byte  37                      # DW_AT_producer -- Error: Abbreviation declaration contains multiple DW_AT_producer attributes.
  .byte  5                       # DW_FORM_data1
  .byte  0                       # EOM(1)
  .byte  0                       # EOM(2)
  .byte  0                       # EOM(3)
