This allows ErrorAsOutParameter to work better with "optional" errors. For
example, consider a function where for certain input values it is known that
the function can't fail. This can now be written as:
Result foo(Arg X, Error *Err) {
ErrorAsOutParameter EAO(Err);
if (<Error Condition>) {
if (Err)
*Err = <report error>;
else
llvm_unreachable("Unexpected failure!");
}
}
Rather than having to construct an ErrorAsOutParameter under every conditional
where Err is known to be non-null.
llvm-svn: 276430
|
||
|---|---|---|
| .. | ||
| Archive.cpp | ||
| ArchiveWriter.cpp | ||
| Binary.cpp | ||
| CMakeLists.txt | ||
| COFFObjectFile.cpp | ||
| ELF.cpp | ||
| ELFObjectFile.cpp | ||
| Error.cpp | ||
| IRObjectFile.cpp | ||
| LLVMBuild.txt | ||
| MachOObjectFile.cpp | ||
| MachOUniversal.cpp | ||
| ModuleSummaryIndexObjectFile.cpp | ||
| Object.cpp | ||
| ObjectFile.cpp | ||
| RecordStreamer.cpp | ||
| RecordStreamer.h | ||
| SymbolSize.cpp | ||
| SymbolicFile.cpp | ||