Compiler projects using llvm
## Check we report warnings when relocations are broken.

# RUN: yaml2obj --docnum=1 %s -o %t1
# RUN: llvm-readobj --relocs --expand-relocs %t1 2>&1 | \
# RUN:   FileCheck %s -DFILE=%t1 --check-prefix=INVALID-REL

# INVALID-REL:      Relocations [
# INVALID-REL-NEXT:   warning: '[[FILE]]': The end of the file was unexpectedly encountered: relocations with offset 0x222 and size 0x0 go past the end of the file
# INVALID-REL-NEXT: ]

--- !XCOFF
FileHeader:
  MagicNumber:   0x1DF
Sections:
  - Name:        .text
    Flags:       [ STYP_TEXT ]
## Case 1: Incorrect offset to relocation entries.
    FileOffsetToRelocations: 0x222

# RUN: yaml2obj --docnum=2 %s -o %t2
# RUN: llvm-readobj --relocs --expand-relocs %t2 2>&1 | \
# RUN:   FileCheck %s -DFILE=%t2 --check-prefix=INVALID-SYM

# INVALID-SYM:      Relocations [
# INVALID-SYM-NEXT:   Section (index: 1) .text {
# INVALID-SYM-NEXT:     warning: '[[FILE]]': symbol index 33 exceeds symbol count 0
# INVALID-SYM-NEXT:   }
# INVALID-SYM-NEXT: ]

--- !XCOFF
FileHeader:
  MagicNumber:   0x1DF
Sections:
  - Name:        .text
    Flags:       [ STYP_TEXT ]
    Relocations:
      - Address: 0x80
## Case 2: There is no symbol with index 0x21.
        Symbol:  0x21