## Ensure that we generate a GNU style archive if the first input is a bitcode
## file with a GNU target triple (absence of __.SYMDEF in the archive).

# RUN: echo -e 'target triple = "x86_64-unknown-linux-gnu" \n define void @_Z3foov() { ret void }' > %t.gnu.ll
# RUN: llvm-as -o %t.gnu.o %t.gnu.ll

# RUN: rm -f %t.ar
# RUN: llvm-ar crs %t.ar %t.gnu.o
# RUN: not grep -q __.SYMDEF %t.ar

## Ensure that we generate a MachO style archive if the first input is a
## bitcode file with a MachO target triple (presence of __.SYMDEF in the
## archive).

# RUN: echo -e 'target triple = "x86_64-apple-macosx10.9" \n define void @_Z3foov() { ret void }' > %t.macho.ll
# RUN: llvm-as -o %t.macho.o %t.macho.ll

# RUN: rm -f %t.ar
# RUN: llvm-ar crs %t.ar %t.macho.o
# RUN: grep -q __.SYMDEF %t.ar

## Verify that archive format is based on the first input's target triple.

# RUN: rm -f %t.ar
# RUN: llvm-ar crs %t.ar %t.gnu.o %t.macho.o
# RUN: not grep -q __.SYMDEF %t.ar
