diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-08-26 09:16:46 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-08-26 09:16:46 +0000 |
commit | d644c32a52c36c2e52c91512d156d4332772cb1f (patch) | |
tree | 076b55429305c54413f37ac837cf351cd282d490 | |
parent | b58a80440041407b1617e32db1ce83fa567991e9 (diff) | |
download | external_llvm-d644c32a52c36c2e52c91512d156d4332772cb1f.tar.gz external_llvm-d644c32a52c36c2e52c91512d156d4332772cb1f.tar.bz2 external_llvm-d644c32a52c36c2e52c91512d156d4332772cb1f.zip |
llvm-mc: Make MCValue take const MCSymbol*s.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80078 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/llvm/MC/MCValue.h | 9 | ||||
-rw-r--r-- | tools/llvm-mc/AsmExpr.cpp | 8 |
2 files changed, 9 insertions, 8 deletions
diff --git a/include/llvm/MC/MCValue.h b/include/llvm/MC/MCValue.h index af56eedece..9d71209f80 100644 --- a/include/llvm/MC/MCValue.h +++ b/include/llvm/MC/MCValue.h @@ -33,13 +33,13 @@ class raw_ostream; /// Note that this class must remain a simple POD value class, because we need /// it to live in unions etc. class MCValue { - MCSymbol *SymA, *SymB; + const MCSymbol *SymA, *SymB; int64_t Cst; public: int64_t getConstant() const { return Cst; } - MCSymbol *getSymA() const { return SymA; } - MCSymbol *getSymB() const { return SymB; } + const MCSymbol *getSymA() const { return SymA; } + const MCSymbol *getSymB() const { return SymB; } /// isAbsolute - Is this an absolute (as opposed to relocatable) value. bool isAbsolute() const { return !SymA && !SymB; } @@ -60,7 +60,8 @@ public: /// dump - Print the value to stderr. void dump() const; - static MCValue get(MCSymbol *SymA, MCSymbol *SymB = 0, int64_t Val = 0) { + static MCValue get(const MCSymbol *SymA, const MCSymbol *SymB = 0, + int64_t Val = 0) { MCValue R; assert((!SymB || SymA) && "Invalid relocatable MCValue!"); R.Cst = Val; diff --git a/tools/llvm-mc/AsmExpr.cpp b/tools/llvm-mc/AsmExpr.cpp index fbb0c53b1c..226dd130b1 100644 --- a/tools/llvm-mc/AsmExpr.cpp +++ b/tools/llvm-mc/AsmExpr.cpp @@ -26,16 +26,16 @@ bool AsmExpr::EvaluateAsAbsolute(MCContext &Ctx, int64_t &Res) const { return true; } -static bool EvaluateSymbolicAdd(const MCValue &LHS, MCSymbol *RHS_A, - MCSymbol *RHS_B, int64_t RHS_Cst, +static bool EvaluateSymbolicAdd(const MCValue &LHS, const MCSymbol *RHS_A, + const MCSymbol *RHS_B, int64_t RHS_Cst, MCValue &Res) { // We can't add or subtract two symbols. if ((LHS.getSymA() && RHS_A) || (LHS.getSymB() && RHS_B)) return false; - MCSymbol *A = LHS.getSymA() ? LHS.getSymA() : RHS_A; - MCSymbol *B = LHS.getSymB() ? LHS.getSymB() : RHS_B; + const MCSymbol *A = LHS.getSymA() ? LHS.getSymA() : RHS_A; + const MCSymbol *B = LHS.getSymB() ? LHS.getSymB() : RHS_B; if (B) { // If we have a negated symbol, then we must have also have a non-negated // symbol in order to encode the expression. We can do this check later to |