## Check that yaml2obj is able to produce an object from YAML
## containing symbols with duplicate names (but different name suffixes).

# RUN: yaml2obj --docnum=1 %s -o %t1
# RUN: llvm-readobj -t %t1 | FileCheck %s --check-prefix=CASE1

# CASE1: Name: localfoo (1)
# CASE1: Name: localfoo (1)

--- !ELF
FileHeader:
  Class:   ELFCLASS64
  Data:    ELFDATA2LSB
  Type:    ET_REL
  Machine: EM_X86_64
Symbols:
  - Name: localfoo
  - Name: 'localfoo [1]'

## Check that yaml2obj reports an error when we have
## symbols with equal names and suffixes.

# RUN: not yaml2obj --docnum=2 %s 2>&1| FileCheck %s --check-prefix=CASE2
# CASE2: error: Repeated symbol name: 'localfoo [1]'.

--- !ELF
FileHeader:
  Class:   ELFCLASS64
  Data:    ELFDATA2LSB
  Type:    ET_REL
  Machine: EM_X86_64
Symbols:
  - Name: 'localfoo [1]'
  - Name: 'localfoo [1]'

## Check that yaml2obj reports an error when we have
## symbols without suffixes in the names and their
## names are equal.

# RUN: not yaml2obj --docnum=3 %s 2>&1| FileCheck %s --check-prefix=CASE3
# CASE3: error: Repeated symbol name: 'localfoo'.

--- !ELF
FileHeader:
  Class:   ELFCLASS64
  Data:    ELFDATA2LSB
  Type:    ET_REL
  Machine: EM_X86_64
Symbols:
  - Name:    localfoo
    Section: .text.foo.1
  - Name:    localfoo
    Section: .text.foo.2

## Check that yaml2obj can produce correct relocations that
## reference symbols with name suffixes.

# RUN: yaml2obj --docnum=4 %s -o %t4
# RUN: llvm-readobj -r --expand-relocs %t4 | FileCheck %s --check-prefix=CASE4

# CASE4:      Relocations [
# CASE4-NEXT:   Section {{.*}} .rela.text {
# CASE4-NEXT:     Relocation {
# CASE4-NEXT:       Offset: 0x0
# CASE4-NEXT:       Type: R_X86_64_NONE
# CASE4-NEXT:       Symbol: foo (1)
# CASE4-NEXT:       Addend: 0x0
# CASE4-NEXT:     }
# CASE4-NEXT:     Relocation {
# CASE4-NEXT:       Offset: 0x1
# CASE4-NEXT:       Type: R_X86_64_NONE
# CASE4-NEXT:       Symbol: foo (2)
# CASE4-NEXT:       Addend: 0x0
# CASE4-NEXT:     }
# CASE4-NEXT:   }
# CASE4-NEXT: ]

--- !ELF
FileHeader:
  Class:   ELFCLASS64
  Data:    ELFDATA2LSB
  Type:    ET_REL
  Machine: EM_X86_64
Sections:
  - Name: .text
    Type: SHT_PROGBITS
  - Name: .rela.text
    Type: SHT_RELA
    Info: .text
    Link: .symtab
    Relocations:
      - Offset: 0x0
        Type:   R_X86_64_NONE
        Symbol: foo
      - Offset: 0x1
        Type:   R_X86_64_NONE
        Symbol: 'foo [1]'
Symbols:
  - Name: foo
  - Name: 'foo [1]'
