1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-18 18:42:46 +02:00
llvm-mirror/lib/ExecutionEngine
Lang Hames c4fb566fb8 [Object] Change Archive::child_iterator for better interop with Error/Expected.
See http://reviews.llvm.org/D22079

Changes the Archive::child_begin and Archive::children to require a reference
to an Error. If iterator increment fails (because the archive header is
damaged) the iterator will be set to 'end()', and the error stored in the
given Error&. The Error value should be checked by the user immediately after
the loop. E.g.:

Error Err;
for (auto &C : A->children(Err)) {
  // Do something with archive child C.
}
// Check the error immediately after the loop.
if (Err)
  return Err;

Failure to check the Error will result in an abort() when the Error goes out of
scope (as guaranteed by the Error class).

llvm-svn: 275316
2016-07-13 21:13:05 +00:00
..
IntelJITEvents Fix lib/ExecutionEngine/IntelJITEvents/IntelJITEventListener.cpp for r273701 2016-06-24 22:38:30 +00:00
Interpreter Remove autoconf support 2016-01-26 21:29:08 +00:00
MCJIT [Object] Change Archive::child_iterator for better interop with Error/Expected. 2016-07-13 21:13:05 +00:00
OProfileJIT [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
Orc [Object] Change Archive::child_iterator for better interop with Error/Expected. 2016-07-13 21:13:05 +00:00
RuntimeDyld Prune RelocVisitor.h include to avoid including COFF.h from MCJIT.h 2016-07-06 16:56:42 +00:00
CMakeLists.txt modules: Add explicit dependency on intrinsics_gen 2015-06-16 00:44:12 +00:00
ExecutionEngine.cpp IR: Introduce Module::global_objects(). 2016-06-22 20:29:42 +00:00
ExecutionEngineBindings.cpp Support: Fix incremental build when re-configuring targets 2016-02-13 22:58:43 +00:00
GDBRegistrationListener.cpp Use 'override/final' instead of 'virtual' for overridden methods 2015-04-11 02:11:45 +00:00
LLVMBuild.txt add missing dependency for ExecutionEngine lib 2015-06-01 21:56:56 +00:00
SectionMemoryManager.cpp [SectionMemoryManager] Don't just drop the RO free list 2016-01-10 18:17:12 +00:00
TargetSelect.cpp [NFC] Header cleanup 2016-04-18 09:17:29 +00:00