| If the same file is specified more than once as an input file, |
| llvm-lib should ignore all but the first occurrence of the file. |
| |
| RUN: rm -rf %t |
| RUN: mkdir -p %t |
| |
| RUN: llvm-mc -triple=x86_64-pc-windows-msvc -filetype=obj -o %t/foo.o %S/Inputs/a.s |
| RUN: llvm-mc -triple=x86_64-pc-windows-msvc -filetype=obj -o %t/bar.o %S/Inputs/b.s |
| RUN: llvm-mc -triple=x86_64-pc-windows-msvc -filetype=obj -o %t/abc.o %S/Inputs/abc.s |
| RUN: llvm-lib -out:%t/foo.lib %t/foo.o %t/foo.o %t/abc.o %t/bar.o %t/foo.o %t/foo.o |
| |
| RUN: llvm-ar t %t/foo.lib | FileCheck %s |
| CHECK: bar.o |
| CHECK-NEXT: abc.o |
| CHECK-NEXT: foo.o |
| CHECK-NOT: foo.o |
| |
| # Check that symbol map contains sorted, de-duplicated symbols. |
| RUN: cd %t && llvm-lib -out:foo.lib foo.o foo.o abc.o bar.o foo.o foo.o |
| RUN: llvm-nm --print-armap %t/foo.lib | FileCheck %s --check-prefix=DUP |
| # DUP: Archive map |
| # DUP-NEXT: a in abc.o |
| # DUP-NEXT: b in bar.o |
| # DUP-NEXT: c in abc.o |
| # DUP-EMPTY |