diff options
author | Peter Collingbourne <peter@pcc.me.uk> | 2016-11-11 19:50:24 +0000 |
---|---|---|
committer | Peter Collingbourne <peter@pcc.me.uk> | 2016-11-11 19:50:24 +0000 |
commit | cd513a41c17a3591e764b1ff986ae501a28cc5f5 (patch) | |
tree | 87db3a383097fc45a617ddc23c42b96e481efddd /llvm/tools/lto/lto.cpp | |
parent | c0032b717886f4923b682f0f5972ab4ab9c32640 (diff) | |
download | bcm5719-llvm-cd513a41c17a3591e764b1ff986ae501a28cc5f5.tar.gz bcm5719-llvm-cd513a41c17a3591e764b1ff986ae501a28cc5f5.zip |
Bitcode: Clean up error handling for certain bitcode query functions.
The functions getBitcodeTargetTriple(), isBitcodeContainingObjCCategory(),
getBitcodeProducerString() and hasGlobalValueSummary() now return errors
via their return value rather than via the diagnostic handler.
To make this work, re-implement these functions using non-member functions
so that they can be used without the LLVMContext required by BitcodeReader.
Differential Revision: https://reviews.llvm.org/D26532
llvm-svn: 286623
Diffstat (limited to 'llvm/tools/lto/lto.cpp')
-rw-r--r-- | llvm/tools/lto/lto.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/tools/lto/lto.cpp b/llvm/tools/lto/lto.cpp index 2763b1f9053..2f0dd26d64d 100644 --- a/llvm/tools/lto/lto.cpp +++ b/llvm/tools/lto/lto.cpp @@ -187,7 +187,9 @@ bool lto_module_has_objc_category(const void *mem, size_t length) { if (!Buffer) return false; LLVMContext Ctx; - return llvm::isBitcodeContainingObjCCategory(*Buffer, Ctx); + ErrorOr<bool> Result = expectedToErrorOrAndEmitErrors( + Ctx, llvm::isBitcodeContainingObjCCategory(*Buffer)); + return Result && *Result; } bool lto_module_is_object_file_in_memory(const void* mem, size_t length) { |