xref: /llvm-project/llvm/test/tools/llvm-lib/duplicate.test (revision 4fcbf3842007569880fa916831efefda6b1bd032)
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