summaryrefslogtreecommitdiffstats
path: root/llvm/tools/lto/lto.cpp
diff options
context:
space:
mode:
authorPeter Collingbourne <peter@pcc.me.uk>2016-11-11 19:50:24 +0000
committerPeter Collingbourne <peter@pcc.me.uk>2016-11-11 19:50:24 +0000
commitcd513a41c17a3591e764b1ff986ae501a28cc5f5 (patch)
tree87db3a383097fc45a617ddc23c42b96e481efddd /llvm/tools/lto/lto.cpp
parentc0032b717886f4923b682f0f5972ab4ab9c32640 (diff)
downloadbcm5719-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.cpp4
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) {
OpenPOWER on IntegriCloud