## Test how we dump archives.

## Show that dumping operations apply to all members in an archive.

# RUN: rm -f %t.a
# RUN: rm -rf %t.dir
# RUN: mkdir -p %t.dir
# RUN: yaml2obj --docnum=1 %s -o %t.dir/trivial.obj.elf-x86-64
# RUN: yaml2obj --docnum=2 %s -o %t.dir/trivial.obj.elf-i386
# RUN: yaml2obj --docnum=3 %s -o %t.dir/trivial.obj.coff-arm

# RUN: llvm-ar rc %t.a %t.dir/trivial.obj.elf-x86-64 %t.dir/trivial.obj.elf-i386 %t.dir/trivial.obj.coff-arm
# RUN: llvm-readobj --all %t.a | FileCheck %s -DARFILE="%t.a" --check-prefixes=LLVM,COFF
# RUN: llvm-readelf --all %t.a | FileCheck %s -DARFILE="%t.a" --check-prefixes=GNU,COFF

# LLVM: {{^$}}
# LLVM-NEXT: File: [[ARFILE]](trivial.obj.elf-x86-64)
# LLVM: Format: elf64-x86-64
# LLVM: ElfHeader {
# LLVM:   Machine: EM_X86_64
# LLVM: Sections [
# LLVM: Relocations [
# LLVM: Symbols [
# LLVM: Notes [
# LLVM: ]
# LLVM: StackSizes [
# LLVM: ]

# GNU: {{^$}}
# GNU-NEXT: File: [[ARFILE]](trivial.obj.elf-x86-64)
# GNU: ELF Header:
# GNU:   Machine: Advanced Micro Devices X86-64
# GNU: Section Headers:
# GNU: There are no section groups in this file.

# LLVM-EMPTY:
# LLVM-NEXT: File: [[ARFILE]](trivial.obj.elf-i386)
# LLVM: Format: elf32-i386
# LLVM: ElfHeader {
# LLVM:   Machine: EM_386
# LLVM: Sections [
# LLVM: Relocations [
# LLVM: Symbols [
# LLVM: Notes [
# LLVM: ]
# LLVM: StackSizes [
# LLVM: ]

# GNU-EMPTY:
# GNU-NEXT: File: [[ARFILE]](trivial.obj.elf-i386)
# GNU: ELF Header:
# GNU:   Machine: Intel 80386
# GNU: Section Headers:
# GNU: There are no section groups in this file.

# LLVM-EMPTY:
# LLVM-NEXT: File: [[ARFILE]](trivial.obj.coff-arm)
# LLVM: Format: COFF-ARM
# GNU-EMPTY:
# GNU-NEXT: File: [[ARFILE]](trivial.obj.coff-arm)
# COFF: ImageFileHeader {
# COFF:   Machine: IMAGE_FILE_MACHINE_ARMNT
# COFF: Sections [
# COFF: Relocations [
# COFF: Symbols [

--- !ELF
FileHeader:
  Class:   ELFCLASS64
  Data:    ELFDATA2LSB
  Type:    ET_REL
  Machine: EM_X86_64

--- !ELF
FileHeader:
  Class:   ELFCLASS32
  Data:    ELFDATA2LSB
  Type:    ET_REL
  Machine: EM_386

--- !COFF
header:
  Machine:         IMAGE_FILE_MACHINE_ARMNT
  Characteristics: [  ]
sections: []
symbols: []

## Here we test that we report a warning and continue dumping when an archive contains
## an unrecognized object. We add a dummy archive to the middle of another archive,
## so that it is between two valid objects.

# RUN: rm -f %t2.a
# RUN: llvm-ar rc %t.dir/broken.a %t.dir/trivial.obj.elf-x86-64
# RUN: llvm-ar qc %t2.a %t.dir/trivial.obj.elf-x86-64 %t.dir/broken.a %t.dir/trivial.obj.elf-x86-64
# RUN: llvm-readobj --all %t2.a 2>&1 | FileCheck %s -DARFILE="%t2.a" --check-prefix=BROKEN
# RUN: llvm-readelf --all %t2.a 2>&1 | FileCheck %s -DARFILE="%t2.a" --check-prefix=BROKEN

# BROKEN: File: [[ARFILE]](trivial.obj.elf-x86-64)
# BROKEN: warning: '[[ARFILE]]': broken.a has an unsupported file type
# BROKEN: File: [[ARFILE]](trivial.obj.elf-x86-64)
