llvm/llvm/test/tools/llvm-ar/add-library.test

RUN: yaml2obj %S/Inputs/add-lib1.yaml -o %t-add-lib1.o
RUN: yaml2obj %S/Inputs/add-lib2.yaml -o %t-add-lib2.o
RUN: yaml2obj %S/Inputs/add-lib2.yaml -o %t-add-lib3.o

RUN: rm -f %t.ar
RUN: llvm-ar crs %t.ar %t-add-lib1.o
RUN: llvm-ar cqs %t.ar %t-add-lib2.o

RUN: llvm-ar tv %t.ar | FileCheck %s --check-prefix=CHECK-NAMES-NO-ADDLIB
CHECK-NAMES-NO-ADDLIB: add-library.test.tmp-add-lib1.o
CHECK-NAMES-NO-ADDLIB: add-library.test.tmp-add-lib2.o

RUN: llvm-nm %t.ar | FileCheck %s --check-prefix=CHECK-SYMBOLS-NO-ADDLIB
CHECK-SYMBOLS-NO-ADDLIB: add-lib1
CHECK-SYMBOLS-NO-ADDLIB: add-lib2

RUN: rm -f %t1.ar
RUN: llvm-ar crs %t1.ar %t-add-lib3.o
RUN: llvm-ar cqLs %t1.ar %t.ar

RUN: llvm-ar tv %t1.ar | FileCheck %s --check-prefix=CHECK-NAMES-ADDLIB
CHECK-NAMES-ADDLIB: add-library.test.tmp-add-lib3.o
CHECK-NAMES-ADDLIB: add-library.test.tmp-add-lib1.o
CHECK-NAMES-ADDLIB: add-library.test.tmp-add-lib2.o

RUN: llvm-nm %t1.ar | FileCheck %s --check-prefix=CHECK-SYMBOLS-ADDLIB
CHECK-SYMBOLS-ADDLIB: add-lib3
CHECK-SYMBOLS-ADDLIB: add-lib1
CHECK-SYMBOLS-ADDLIB: add-lib2

RUN: llvm-ar cqLs %t1.ar %t-add-lib1.o

RUN: llvm-ar tv %t1.ar | FileCheck %s --check-prefix=CHECK-NAMES-DUPLICATE
CHECK-NAMES-DUPLICATE: add-library.test.tmp-add-lib3.o
CHECK-NAMES-DUPLICATE: add-library.test.tmp-add-lib1.o
CHECK-NAMES-DUPLICATE: add-library.test.tmp-add-lib2.o
CHECK-NAMES-DUPLICATE: add-library.test.tmp-add-lib1.o

RUN: llvm-nm %t1.ar | FileCheck %s --check-prefix=CHECK-SYMBOLS-DUPLICATE
CHECK-SYMBOLS-DUPLICATE: add-lib3
CHECK-SYMBOLS-DUPLICATE: add-lib1
CHECK-SYMBOLS-DUPLICATE: add-lib2
CHECK-SYMBOLS-DUPLICATE: add-lib1