aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/MC/ELFObjectWriter.cpp
diff options
context:
space:
mode:
authorAndreas Simbuerger <simbuerg@fim.uni-passau.de>2014-04-02 11:54:01 +0000
committerAndreas Simbuerger <simbuerg@fim.uni-passau.de>2014-04-02 11:54:01 +0000
commit01a37a0bcc1ccb4f169a750890c0d7352c3a2836 (patch)
treea86d52c4335751b70fdcf23bd1b3576f2a6048a5 /llvm/lib/MC/ELFObjectWriter.cpp
parent80cb930c090ea527b04bafd88058ad6d0aa3fb06 (diff)
downloadllvm-01a37a0bcc1ccb4f169a750890c0d7352c3a2836.zip
llvm-01a37a0bcc1ccb4f169a750890c0d7352c3a2836.tar.gz
llvm-01a37a0bcc1ccb4f169a750890c0d7352c3a2836.tar.bz2
Replace INVALID/INVALID_NOVERIFY with diagnostics.
This replaces the ancient INVALID/INVALID_NOVERIFY macros with a real function. The new invalid(..) function uses small diagnostic objects that are generated on demand. We can store arbitrary additional information per error type and generate useful debug/error messages on the fly. Use it as follows: if (/* Some error condition (ReportFoo) */) invalid<ReportFoo>(Context, /*Assert=*/true/false, (/* List of helpful diagnostic objects */)); Where ReportFoo is a subclass of RejectReason that is able to take the list of helpful diagnostic objects in its constructor. The implementation of invalid will create the report and fire an assertion, if necessary. llvm-svn: 205414
Diffstat (limited to 'llvm/lib/MC/ELFObjectWriter.cpp')
0 files changed, 0 insertions, 0 deletions