160e9df33SRui UeyamaIf the same file is specified more than once as an input file, 260e9df33SRui Ueyamallvm-lib should ignore all but the first occurrence of the file. 360e9df33SRui Ueyama 460e9df33SRui UeyamaRUN: rm -rf %t 560e9df33SRui UeyamaRUN: mkdir -p %t 660e9df33SRui Ueyama 760e9df33SRui UeyamaRUN: llvm-mc -triple=x86_64-pc-windows-msvc -filetype=obj -o %t/foo.o %S/Inputs/a.s 860e9df33SRui UeyamaRUN: llvm-mc -triple=x86_64-pc-windows-msvc -filetype=obj -o %t/bar.o %S/Inputs/b.s 9350c89faSJacek CabanRUN: llvm-mc -triple=x86_64-pc-windows-msvc -filetype=obj -o %t/abc.o %S/Inputs/abc.s 10350c89faSJacek CabanRUN: llvm-lib -out:%t/foo.lib %t/foo.o %t/foo.o %t/abc.o %t/bar.o %t/foo.o %t/foo.o 1160e9df33SRui Ueyama 1260e9df33SRui UeyamaRUN: llvm-ar t %t/foo.lib | FileCheck %s 1360e9df33SRui UeyamaCHECK: bar.o 14350c89faSJacek CabanCHECK-NEXT: abc.o 15350c89faSJacek CabanCHECK-NEXT: foo.o 16350c89faSJacek CabanCHECK-NOT: foo.o 17*4fcbf384SJacek Caban 18*4fcbf384SJacek Caban# Check that symbol map contains sorted, de-duplicated symbols. 19*4fcbf384SJacek CabanRUN: cd %t && llvm-lib -out:foo.lib foo.o foo.o abc.o bar.o foo.o foo.o 20*4fcbf384SJacek CabanRUN: llvm-nm --print-armap %t/foo.lib | FileCheck %s --check-prefix=DUP 21*4fcbf384SJacek Caban# DUP: Archive map 22*4fcbf384SJacek Caban# DUP-NEXT: a in abc.o 23*4fcbf384SJacek Caban# DUP-NEXT: b in bar.o 24*4fcbf384SJacek Caban# DUP-NEXT: c in abc.o 25*4fcbf384SJacek Caban# DUP-EMPTY 26