// FIXME: Same concerns as with SectionData.
class MCSymbolData : public ilist_node<MCSymbolData> {
public:
- MCSymbol &Symbol;
+ const MCSymbol &Symbol;
/// Fragment - The fragment this symbol's value is relative to, if any.
MCFragment *Fragment;
public:
// Only for use as sentinel.
MCSymbolData();
- MCSymbolData(MCSymbol &_Symbol, MCFragment *_Fragment, uint64_t _Offset,
+ MCSymbolData(const MCSymbol &_Symbol, MCFragment *_Fragment, uint64_t _Offset,
MCAssembler *A = 0);
/// @name Accessors
/// @{
- MCSymbol &getSymbol() const { return Symbol; }
+ const MCSymbol &getSymbol() const { return Symbol; }
MCFragment *getFragment() const { return Fragment; }
void setFragment(MCFragment *Value) { Fragment = Value; }
void WriteNlist32(MachSymbolData &MSD) {
MCSymbolData &Data = *MSD.SymbolData;
- MCSymbol &Symbol = Data.getSymbol();
+ const MCSymbol &Symbol = Data.getSymbol();
uint8_t Type = 0;
uint16_t Flags = Data.getFlags();
uint32_t Address = 0;
// files.
for (MCAssembler::symbol_iterator it = Asm.symbol_begin(),
ie = Asm.symbol_end(); it != ie; ++it) {
- MCSymbol &Symbol = it->getSymbol();
+ const MCSymbol &Symbol = it->getSymbol();
// Ignore assembler temporaries.
if (it->getSymbol().isTemporary())
// Now add the data for local symbols.
for (MCAssembler::symbol_iterator it = Asm.symbol_begin(),
ie = Asm.symbol_end(); it != ie; ++it) {
- MCSymbol &Symbol = it->getSymbol();
+ const MCSymbol &Symbol = it->getSymbol();
// Ignore assembler temporaries.
if (it->getSymbol().isTemporary())
/* *** */
-MCSymbolData::MCSymbolData() : Symbol(*(MCSymbol*)0) {}
+MCSymbolData::MCSymbolData() : Symbol(*(const MCSymbol*)0) {}
-MCSymbolData::MCSymbolData(MCSymbol &_Symbol, MCFragment *_Fragment,
+MCSymbolData::MCSymbolData(const MCSymbol &_Symbol, MCFragment *_Fragment,
uint64_t _Offset, MCAssembler *A)
: Symbol(_Symbol), Fragment(_Fragment), Offset(_Offset),
IsExternal(false), IsPrivateExtern(false),