aboutsummaryrefslogtreecommitdiff
path: root/test/tools/llvm-lib/use-paths.test
diff options
context:
space:
mode:
Diffstat (limited to 'test/tools/llvm-lib/use-paths.test')
-rw-r--r--test/tools/llvm-lib/use-paths.test24
1 files changed, 24 insertions, 0 deletions
diff --git a/test/tools/llvm-lib/use-paths.test b/test/tools/llvm-lib/use-paths.test
new file mode 100644
index 00000000000..971c216127e
--- /dev/null
+++ b/test/tools/llvm-lib/use-paths.test
@@ -0,0 +1,24 @@
+llvm-lib should behave like "link.exe /lib" and use relative paths to describe
+archive members.
+
+First, get in a clean working directory.
+RUN: rm -rf %t && mkdir -p %t && cd %t
+
+Make foo/a.obj and foo/b.obj.
+RUN: mkdir foo
+RUN: llvm-mc -triple=x86_64-pc-windows-msvc -filetype=obj -o foo/a.obj %S/Inputs/a.s
+RUN: llvm-mc -triple=x86_64-pc-windows-msvc -filetype=obj -o foo/b.obj %S/Inputs/b.s
+
+RUN: llvm-lib -out:foo.lib foo/a.obj foo/b.obj
+RUN: llvm-ar t foo.lib | FileCheck %s
+
+FIXME: We should probably use backslashes on Windows to better match MSVC tools.
+CHECK: foo/a.obj
+CHECK: foo/b.obj
+
+Do it again with absolute paths and see that we get something.
+RUN: llvm-lib -out:foo.lib %t/foo/a.obj %t/foo/b.obj
+RUN: llvm-ar t foo.lib | FileCheck %s --check-prefix=ABS
+
+ABS: {{.*}}/foo/a.obj
+ABS: {{.*}}/foo/b.obj