aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/MC/MCObjectWriter.h
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2010-12-17 04:54:54 +0000
committerDaniel Dunbar <daniel@zuster.org>2010-12-17 04:54:54 +0000
commit1f3662abba2abdf5a0ab77095834271fcf846579 (patch)
treebee75eb48cbf921a33bb28c5af57d5e910a583de /include/llvm/MC/MCObjectWriter.h
parentff2e9b4225ab55ee049b33158a9cce1ef138c2f7 (diff)
downloadexternal_llvm-1f3662abba2abdf5a0ab77095834271fcf846579.zip
external_llvm-1f3662abba2abdf5a0ab77095834271fcf846579.tar.gz
external_llvm-1f3662abba2abdf5a0ab77095834271fcf846579.tar.bz2
MC/ObjectWriter: Add a new IsSymbolRefDifferenceFullyResolved target format specific hook.
- Currently just has stub implementations for Mach-O, ELF, and COFF. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122037 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/MC/MCObjectWriter.h')
-rw-r--r--include/llvm/MC/MCObjectWriter.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/include/llvm/MC/MCObjectWriter.h b/include/llvm/MC/MCObjectWriter.h
index bae3368..60625b4 100644
--- a/include/llvm/MC/MCObjectWriter.h
+++ b/include/llvm/MC/MCObjectWriter.h
@@ -20,6 +20,7 @@ class MCAsmLayout;
class MCAssembler;
class MCFixup;
class MCFragment;
+class MCSymbolRefExpr;
class MCValue;
class raw_ostream;
@@ -77,6 +78,16 @@ public:
const MCFixup &Fixup, MCValue Target,
uint64_t &FixedValue) = 0;
+ /// \brief Check whether the difference (A - B) between two symbol
+ /// references is fully resolved.
+ ///
+ /// Clients are not required to answer precisely and may conservatively return
+ /// false, even when a difference is fully resolved.
+ virtual bool
+ IsSymbolRefDifferenceFullyResolved(const MCAssembler &Asm,
+ const MCSymbolRefExpr *A,
+ const MCSymbolRefExpr *B) const = 0;
+
/// Check if a fixup is fully resolved.
///
/// This routine is used by the assembler to let the file format decide