Move IsUsedInReloc from MCSymbolELF to MCSymbol.
[oota-llvm.git] / include / llvm / MC / MCSymbolELF.h
index 22ade52fb711c6a73b42b37006a9ecc9de0d709d..bbcd22e8e7dbe15fac4238ee86a28b3198d133fe 100644 (file)
@@ -17,12 +17,9 @@ class MCSymbolELF : public MCSymbol {
   /// symbol has no size this field will be NULL.
   const MCExpr *SymbolSize = nullptr;
 
-  mutable unsigned BindingSet : 1;
-  mutable unsigned UsedInReloc : 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; }
@@ -39,12 +36,18 @@ public:
   void setBinding(unsigned Binding) const;
   unsigned getBinding() const;
 
-  bool isBindingSet() const { return BindingSet; }
+  bool isBindingSet() const;
+
+  void setIsWeakrefUsedInReloc() const;
+  bool isWeakrefUsedInReloc() const;
 
-  void setUsedInReloc() const;
-  bool isUsedInReloc() const;
+  void setIsSignature() const;
+  bool isSignature() const;
 
   static bool classof(const MCSymbol *S) { return S->isELF(); }
+
+private:
+  void setIsBindingSet() const;
 };
 }