summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLang Hames <lhames@gmail.com>2016-04-29 21:29:48 +0000
committerLang Hames <lhames@gmail.com>2016-04-29 21:29:48 +0000
commitae643ee2d1e637643b365e077ff0def93cf3e0b2 (patch)
treee43924d371ae2f53b1cf45210df484888952e069
parentd49a8f9b54c3009b6b8f59b1bd133d3907bada3f (diff)
downloadbcm5719-llvm-ae643ee2d1e637643b365e077ff0def93cf3e0b2.tar.gz
bcm5719-llvm-ae643ee2d1e637643b365e077ff0def93cf3e0b2.zip
[Orc] Make sure we don't drop the internal error in OrcRemoteTargetClient when
the constructor fails, as this would lead to an 'unchecked error' crash. llvm-svn: 268111
-rw-r--r--llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h b/llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h
index 4ba41e3d2c9..14df9f9f5c8 100644
--- a/llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h
+++ b/llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h
@@ -693,8 +693,9 @@ private:
std::tie(RemoteTargetTriple, RemotePointerSize, RemotePageSize,
RemoteTrampolineSize, RemoteIndirectStubSize) = *RIOrErr;
Err = Error::success();
- } else
- Err = RIOrErr.takeError();
+ } else {
+ Err = joinErrors(RIOrErr.takeError(), std::move(ExistingError));
+ }
}
Error deregisterEHFrames(TargetAddress Addr, uint32_t Size) {
OpenPOWER on IntegriCloud