llvm-mc/Mach-O: Support symbol attributes.
[oota-llvm.git] / include / llvm / MC / MCAssembler.h
index bcd678deaa30d6e97e00fa6b3113d2f07d5a2de5..aae5f08caafa0048c10b4903e2fafe5f8a3c83ec 100644 (file)
@@ -317,6 +317,13 @@ public:
   /// unit.
   unsigned IsExternal : 1;
 
+  /// IsPrivateExtern - True if this symbol is private extern.
+  unsigned IsPrivateExtern : 1;
+
+  /// Flags - The Flags field is used by object file implementations to store
+  /// additional per symbol information which is not easily classified.
+  uint32_t Flags;
+
 public:
   // Only for use as sentinel.
   MCSymbolData();
@@ -334,13 +341,22 @@ public:
   uint64_t getOffset() const { return Offset; }
   void setOffset(uint64_t Value) { Offset = Value; }
 
-    /// @}
-    /// @name Symbol Attributes
-    /// @{
-
-    bool isExternal() const { return IsExternal; }
-    void setExternal(bool Value) { IsExternal = Value; }
+  /// @}
+  /// @name Symbol Attributes
+  /// @{
+  
+  bool isExternal() const { return IsExternal; }
+  void setExternal(bool Value) { IsExternal = Value; }
+  
+  bool isPrivateExtern() const { return IsPrivateExtern; }
+  void setPrivateExtern(bool Value) { IsPrivateExtern = Value; }
+  
+  /// getFlags - Get the (implementation defined) symbol flags.
+  uint32_t getFlags() const { return Flags; }
 
+  /// setFlags - Set the (implementation defined) symbol flags.
+  void setFlags(uint32_t Value) { Flags = Value; }
+  
   /// @}  
 };