diff options
author | Alex Brachet <alexbrachetmialot@gmail.com> | 2019-06-18 00:39:10 +0000 |
---|---|---|
committer | Alex Brachet <alexbrachetmialot@gmail.com> | 2019-06-18 00:39:10 +0000 |
commit | 774770093703bf9fb8e32a9fb056d0ec0b925701 (patch) | |
tree | 835e486cb4775af496960e01c1b9a5e4c1530cbe /llvm/tools/llvm-objcopy/llvm-objcopy.cpp | |
parent | 5a321b899e7a10b45c3ee4003fb2a048f35074a9 (diff) | |
download | llvm-774770093703bf9fb8e32a9fb056d0ec0b925701.zip llvm-774770093703bf9fb8e32a9fb056d0ec0b925701.tar.gz llvm-774770093703bf9fb8e32a9fb056d0ec0b925701.tar.bz2 |
[llvm-strip] Error when using stdin twice
Summary: Implements bug [[ https://bugs.llvm.org/show_bug.cgi?id=42204 | 42204 ]]. llvm-strip now warns when the same input file is used more than once, and errors when stdin is used more than once.
Reviewers: jhenderson, rupprecht, espindola, alexshap
Reviewed By: jhenderson, rupprecht
Subscribers: emaste, arichardson, jakehehrlich, MaskRay, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D63122
llvm-svn: 363638
Diffstat (limited to 'llvm/tools/llvm-objcopy/llvm-objcopy.cpp')
-rw-r--r-- | llvm/tools/llvm-objcopy/llvm-objcopy.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/llvm/tools/llvm-objcopy/llvm-objcopy.cpp b/llvm/tools/llvm-objcopy/llvm-objcopy.cpp index 416b295..2ab77ea 100644 --- a/llvm/tools/llvm-objcopy/llvm-objcopy.cpp +++ b/llvm/tools/llvm-objcopy/llvm-objcopy.cpp @@ -82,6 +82,12 @@ LLVM_ATTRIBUTE_NORETURN void reportError(StringRef File, Error E) { exit(1); } +ErrorSuccess reportWarning(Error E) { + assert(E); + WithColor::warning(errs(), ToolName) << toString(std::move(E)); + return Error::success(); +} + } // end namespace objcopy } // end namespace llvm @@ -263,7 +269,7 @@ int main(int argc, char **argv) { ToolName = argv[0]; bool IsStrip = sys::path::stem(ToolName).contains("strip"); Expected<DriverConfig> DriverConfig = - IsStrip ? parseStripOptions(makeArrayRef(argv + 1, argc)) + IsStrip ? parseStripOptions(makeArrayRef(argv + 1, argc), reportWarning) : parseObjcopyOptions(makeArrayRef(argv + 1, argc)); if (!DriverConfig) { logAllUnhandledErrors(DriverConfig.takeError(), |