// REQUIRES: x86
// RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t1.o
// RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %S/Inputs/vs-diagnostics-duplicate2.s -o %t2.o
// RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %S/Inputs/vs-diagnostics-duplicate3.s -o %t3.o
// RUN: not ld.lld --vs-diagnostics %t1.o %t2.o %t3.o -o /dev/null 2>&1 | FileCheck %s

// Case 1. The source locations are unknown for both symbols.
// CHECK:      {{.*}}ld.lld{{.*}}: error: duplicate symbol: foo
// CHECK-NEXT: >>> defined at {{.*}}1.o:(.text+0x{{.+}})
// CHECK-NEXT: >>> defined at {{.*}}2.o:(.text+0x{{.+}})

// Case 2. Both symbols have full source location.
// CHECK:      duplicate.s(15): error: duplicate symbol: bar
// CHECK-NEXT: >>> defined at duplicate.s:15
// CHECK-NEXT: >>>{{.*}}1.o:(.text+0x{{.+}})
// CHECK:      duplicate2.s(20): error: duplicate symbol: bar
// CHECK-NEXT: >>> defined at duplicate2.s:20
// CHECK-NEXT: >>>{{.*}}2.o:(.text+0x{{.+}})

// Case 3. For the second definition of `baz` we know only the source file found in a STT_FILE symbol.
// CHECK:      duplicate.s(30): error: duplicate symbol: baz
// CHECK-NEXT: >>> defined at duplicate.s:30
// CHECK-NEXT: >>> {{.*}}1.o:(.text+0x{{.+}})
// CHECK-NEXT: >>> defined at duplicate3.s
// CHECK-NEXT: >>>            {{.*}}3.o:(.text+0x{{.+}})

// Check that we prefer using the full path of a source file.
// CHECK:      /tmp{{/|\\}}duplicate.s(33): error: duplicate symbol: qux
// CHECK-NEXT: >>> defined at duplicate.s:33 (/tmp{{/|\\}}duplicate.s:33)
// CHECK-NEXT: >>> {{.*}}1.o:(.text+0x{{.+}})
// CHECK-NEXT: >>> defined at duplicate3.s
// CHECK-NEXT: >>>            {{.*}}3.o:(.text+0x{{.+}})

.global _start, foo, bar, baz, qux
.text
_start:
  nop

foo:
  nop

.file 1 "duplicate.s"
.loc 1 15

bar:
  nop

.loc 1 30
baz:
  nop

.file 2 "/tmp" "duplicate.s"
.loc 2 33
qux:
  nop

.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
  .byte  0                      # EOM(1)
  .byte  0                      # EOM(2)
  .byte  0                      # EOM(3)

.section .debug_info,"",@progbits
  .long .Lend0 - .Lbegin0       # Length of Unit
.Lbegin0:
  .short 4                      # DWARF version number
  .long  .debug_abbrev          # Offset Into Abbrev. Section
  .byte  8                      # Address Size (in bytes)
  .byte  1                      # Abbrev [1] 0xb:0x1f DW_TAG_compile_unit
  .long  .debug_line            # DW_AT_stmt_list
.Lend0:
  .section .debug_line,"",@progbits
