diff options
author | Alex Bradbury <asb@lowrisc.org> | 2017-04-05 10:16:14 +0000 |
---|---|---|
committer | Alex Bradbury <asb@lowrisc.org> | 2017-04-05 10:16:14 +0000 |
commit | 866113c2ea27a3dcac0c81fb574a8755a756102c (patch) | |
tree | 85dc764efe968c40f47dbb8b57321908c1b59646 /llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp | |
parent | e6c5d3862d123f84bf400078172fd93680e15c5b (diff) | |
download | bcm5719-llvm-866113c2ea27a3dcac0c81fb574a8755a756102c.tar.gz bcm5719-llvm-866113c2ea27a3dcac0c81fb574a8755a756102c.zip |
Add MCContext argument to MCAsmBackend::applyFixup for error reporting
A number of backends (AArch64, MIPS, ARM) have been using
MCContext::reportError to report issues such as out-of-range fixup values in
their TgtAsmBackend. This is great, but because MCContext couldn't easily be
threaded through to the adjustFixupValue helper function from its usual
callsite (applyFixup), these backends ended up adding an MCContext* argument
and adding another call to applyFixup to processFixupValue. Adding an
MCContext parameter to applyFixup makes this unnecessary, and even better -
applyFixup can take a reference to MCContext rather than a potentially null
pointer.
Differential Revision: https://reviews.llvm.org/D30264
llvm-svn: 299529
Diffstat (limited to 'llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp')
-rw-r--r-- | llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp b/llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp index 6106a6c32dc..cc07547ede2 100644 --- a/llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp +++ b/llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp @@ -274,7 +274,8 @@ namespace { SparcAsmBackend(T), OSType(OSType) { } void applyFixup(const MCFixup &Fixup, char *Data, unsigned DataSize, - uint64_t Value, bool IsPCRel) const override { + uint64_t Value, bool IsPCRel, + MCContext &Ctx) const override { Value = adjustFixupValue(Fixup.getKind(), Value); if (!Value) return; // Doesn't change encoding. |