diff options
author | Rui Ueyama <ruiu@google.com> | 2019-10-02 05:24:24 +0000 |
---|---|---|
committer | Rui Ueyama <ruiu@google.com> | 2019-10-02 05:24:24 +0000 |
commit | 64a362e7216a43e3ad44e50a89265e72aeb14294 (patch) | |
tree | 7f2a635a1ec440d5c6ec2ef24bf28c039202abfb /llvm/test/tools/llvm-lib | |
parent | 8d6a863b02f199960590973f06b4c4dd29df578f (diff) | |
download | bcm5719-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.test | 2 | ||||
-rw-r--r-- | llvm/test/tools/llvm-lib/nest.test | 15 |
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 |