diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2015-05-27 18:44:32 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2015-05-27 18:44:32 +0000 |
commit | 5a5ac124e1efaf208671f01c46edb15f29ed2a0b (patch) | |
tree | a6140557876943cdd800ee997c9317283394b22c /lib/MC/MCSymbol.cpp | |
parent | f03b5bed27d0d2eafd68562ce14f8b5e3f1f0801 (diff) |
Diffstat (limited to 'lib/MC/MCSymbol.cpp')
-rw-r--r-- | lib/MC/MCSymbol.cpp | 31 |
1 files changed, 7 insertions, 24 deletions
diff --git a/lib/MC/MCSymbol.cpp b/lib/MC/MCSymbol.cpp index 24165254e56a6..ddc381407df8a 100644 --- a/lib/MC/MCSymbol.cpp +++ b/lib/MC/MCSymbol.cpp @@ -14,8 +14,7 @@ using namespace llvm; // Sentinel value for the absolute pseudo section. -const MCSection *MCSymbol::AbsolutePseudoSection = - reinterpret_cast<const MCSection *>(1); +MCSection *MCSymbol::AbsolutePseudoSection = reinterpret_cast<MCSection *>(1); static bool isAcceptableChar(char C) { if ((C < 'a' || C > 'z') && @@ -39,29 +38,11 @@ static bool NameNeedsQuoting(StringRef Str) { return false; } -const MCSymbol &MCSymbol::AliasedSymbol() const { - const MCSymbol *S = this; - while (S->isVariable()) { - const MCExpr *Value = S->getVariableValue(); - if (Value->getKind() != MCExpr::SymbolRef) - return *S; - const MCSymbolRefExpr *Ref = static_cast<const MCSymbolRefExpr*>(Value); - S = &Ref->getSymbol(); - } - return *S; -} - void MCSymbol::setVariableValue(const MCExpr *Value) { assert(!IsUsed && "Cannot set a variable that has already been used."); assert(Value && "Invalid variable value!"); this->Value = Value; - - // Variables should always be marked as in the same "section" as the value. - const MCSection *Section = Value->FindAssociatedSection(); - if (Section) - setSection(*Section); - else - setUndefined(); + this->Section = nullptr; } void MCSymbol::print(raw_ostream &OS) const { @@ -69,6 +50,10 @@ void MCSymbol::print(raw_ostream &OS) const { // some targets support quoting names with funny characters. If the name // contains a funny character, then print it quoted. StringRef Name = getName(); + if (Name.empty()) { + OS << "\"\""; + return; + } if (!NameNeedsQuoting(Name)) { OS << Name; return; @@ -88,7 +73,5 @@ void MCSymbol::print(raw_ostream &OS) const { } #if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP) -void MCSymbol::dump() const { - print(dbgs()); -} +void MCSymbol::dump() const { dbgs() << *this; } #endif |