[llvm-commits] [llvm] r103110 - in /llvm/trunk: include/llvm/MC/MCSymbol.h lib/MC/MCSymbol.cpp

Daniel Dunbar daniel at zuster.org
Wed May 5 12:00:56 PDT 2010


Author: ddunbar
Date: Wed May  5 14:00:56 2010
New Revision: 103110

URL: http://llvm.org/viewvc/llvm-project?rev=103110&view=rev
Log:
MC: Make setVariableValue check the redefinition condition a bit more strongly.

Modified:
    llvm/trunk/include/llvm/MC/MCSymbol.h
    llvm/trunk/lib/MC/MCSymbol.cpp

Modified: llvm/trunk/include/llvm/MC/MCSymbol.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/MC/MCSymbol.h?rev=103110&r1=103109&r2=103110&view=diff
==============================================================================
--- llvm/trunk/include/llvm/MC/MCSymbol.h (original)
+++ llvm/trunk/include/llvm/MC/MCSymbol.h Wed May  5 14:00:56 2010
@@ -131,10 +131,7 @@
       return Value;
     }
 
-    void setVariableValue(const MCExpr *Value) {
-      assert(Value && "Invalid variable value!");
-      this->Value = Value;
-    }
+    void setVariableValue(const MCExpr *Value);
 
     /// @}
 

Modified: llvm/trunk/lib/MC/MCSymbol.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCSymbol.cpp?rev=103110&r1=103109&r2=103110&view=diff
==============================================================================
--- llvm/trunk/lib/MC/MCSymbol.cpp (original)
+++ llvm/trunk/lib/MC/MCSymbol.cpp Wed May  5 14:00:56 2010
@@ -8,6 +8,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "llvm/MC/MCSymbol.h"
+#include "llvm/MC/MCExpr.h"
 #include "llvm/Support/Debug.h"
 #include "llvm/Support/raw_ostream.h"
 using namespace llvm;
@@ -38,6 +39,13 @@
   return false;
 }
 
+void MCSymbol::setVariableValue(const MCExpr *Value) {
+  assert(Value && "Invalid variable value!");
+  assert((isUndefined() || (isAbsolute() && isa<MCConstantExpr>(Value))) &&
+         "Invalid redefinition!");
+  this->Value = Value;
+}
+
 void MCSymbol::print(raw_ostream &OS) const {
   // The name for this MCSymbol is required to be a valid target name.  However,
   // some targets support quoting names with funny characters.  If the name





More information about the llvm-commits mailing list