summaryrefslogtreecommitdiffstats
path: root/llvm/test/tools/llvm-lib
diff options
context:
space:
mode:
authorRui Ueyama <ruiu@google.com>2019-10-02 05:24:24 +0000
committerRui Ueyama <ruiu@google.com>2019-10-02 05:24:24 +0000
commit64a362e7216a43e3ad44e50a89265e72aeb14294 (patch)
tree7f2a635a1ec440d5c6ec2ef24bf28c039202abfb /llvm/test/tools/llvm-lib
parent8d6a863b02f199960590973f06b4c4dd29df578f (diff)
downloadbcm5719-llvm-64a362e7216a43e3ad44e50a89265e72aeb14294.tar.gz
bcm5719-llvm-64a362e7216a43e3ad44e50a89265e72aeb14294.zip
[llvm-lib] Correctly handle .lib input files
If archive files are passed as input files, llvm-lib needs to append the members of the input archive files to the output file. This patch implements that behavior. This patch splits an existing function into smaller functions. Effectively, the new code is only `if (Magic == file_magic::archive) { ... }` part. Fixes https://bugs.llvm.org/show_bug.cgi?id=32674 Differential Revision: https://reviews.llvm.org/D68204 llvm-svn: 373424
Diffstat (limited to 'llvm/test/tools/llvm-lib')
-rw-r--r--llvm/test/tools/llvm-lib/invalid.test2
-rw-r--r--llvm/test/tools/llvm-lib/nest.test15
2 files changed, 16 insertions, 1 deletions
diff --git a/llvm/test/tools/llvm-lib/invalid.test b/llvm/test/tools/llvm-lib/invalid.test
index 2978177a431..57266400cdc 100644
--- a/llvm/test/tools/llvm-lib/invalid.test
+++ b/llvm/test/tools/llvm-lib/invalid.test
@@ -1,2 +1,2 @@
RUN: not llvm-lib %S/Inputs/cl-gl.obj 2>&1 | FileCheck %s
-CHECK: not a COFF object, bitcode or resource file
+CHECK: not a COFF object, bitcode, archive or resource file
diff --git a/llvm/test/tools/llvm-lib/nest.test b/llvm/test/tools/llvm-lib/nest.test
new file mode 100644
index 00000000000..627c847b133
--- /dev/null
+++ b/llvm/test/tools/llvm-lib/nest.test
@@ -0,0 +1,15 @@
+If an archive file is specified as an input file, its members
+are added to an output file. This test verifies that beahvior.
+
+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-lib -out:%t/foo.lib %t/foo.o
+
+RUN: llvm-mc -triple=x86_64-pc-windows-msvc -filetype=obj -o %t/bar.o %S/Inputs/b.s
+RUN: llvm-lib -out:%t/bar.lib %t/foo.lib %t/bar.o
+
+RUN: llvm-ar t %t/bar.lib | FileCheck %s
+CHECK: foo.o
+CHECK: bar.o
OpenPOWER on IntegriCloud