/// symbol has no size this field will be NULL.
const MCExpr *SymbolSize = nullptr;
- mutable unsigned BindingSet : 1;
-
public:
MCSymbolELF(const StringMapEntry<bool> *Name, bool isTemporary)
- : MCSymbol(true, Name, isTemporary), BindingSet(false) {}
+ : MCSymbol(SymbolKindELF, Name, isTemporary) {}
void setSize(const MCExpr *SS) { SymbolSize = SS; }
const MCExpr *getSize() const { return SymbolSize; }
void setBinding(unsigned Binding) const;
unsigned getBinding() const;
- bool isBindingSet() const { return BindingSet; }
+ bool isBindingSet() const;
+
+ void setIsWeakrefUsedInReloc() const;
+ bool isWeakrefUsedInReloc() const;
+
+ void setIsSignature() const;
+ bool isSignature() const;
static bool classof(const MCSymbol *S) { return S->isELF(); }
+
+private:
+ void setIsBindingSet() const;
};
}