diff --git a/include/llvm/MC/MCAssembler.h b/include/llvm/MC/MCAssembler.h index 44fc2e16d7e..892f54839db 100644 --- a/include/llvm/MC/MCAssembler.h +++ b/include/llvm/MC/MCAssembler.h @@ -437,7 +437,7 @@ public: // FIXME: Same concerns as with SectionData. class MCSymbolData : public ilist_node { public: - const MCSymbol &Symbol; + const MCSymbol *Symbol; /// Fragment - The fragment this symbol's value is relative to, if any. MCFragment *Fragment; @@ -480,7 +480,7 @@ public: /// @name Accessors /// @{ - const MCSymbol &getSymbol() const { return Symbol; } + const MCSymbol &getSymbol() const { return *Symbol; } MCFragment *getFragment() const { return Fragment; } void setFragment(MCFragment *Value) { Fragment = Value; } diff --git a/lib/MC/MCAssembler.cpp b/lib/MC/MCAssembler.cpp index 21246ccb352..0afdf98cbe7 100644 --- a/lib/MC/MCAssembler.cpp +++ b/lib/MC/MCAssembler.cpp @@ -926,11 +926,11 @@ MCSectionData::LookupFixup(const MCFragment *Fragment, uint64_t Offset) const { /* *** */ -MCSymbolData::MCSymbolData() : Symbol(*(const MCSymbol*)0) {} +MCSymbolData::MCSymbolData() : Symbol(0) {} MCSymbolData::MCSymbolData(const MCSymbol &_Symbol, MCFragment *_Fragment, uint64_t _Offset, MCAssembler *A) - : Symbol(_Symbol), Fragment(_Fragment), Offset(_Offset), + : Symbol(&_Symbol), Fragment(_Fragment), Offset(_Offset), IsExternal(false), IsPrivateExtern(false), CommonSize(0), CommonAlign(0), Flags(0), Index(0) {