llvm-mc: Make MCValue take const MCSymbol*s.
authorDaniel Dunbar <daniel@zuster.org>
Wed, 26 Aug 2009 09:16:46 +0000 (09:16 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Wed, 26 Aug 2009 09:16:46 +0000 (09:16 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80078 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/MC/MCValue.h
tools/llvm-mc/AsmExpr.cpp

index af56eedece0fe5c5114d7c969ace8b82ad19c95a..9d71209f8075897454d5a7b17cac95f3b869017d 100644 (file)
@@ -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;
index fbb0c53b1cf783072bbc317dc998f2c8fdc034aa..226dd130b1e5852a728c4c839322cc33219bc309 100644 (file)
@@ -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