diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-08-24 08:40:12 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-08-24 08:40:12 +0000 |
commit | 6aff2fbd56d4bc2d6029f7c9bd49a97f6dc01213 (patch) | |
tree | f0b95f730e178cc34e26a9625c07fc44569aaaa2 /include/llvm/MC | |
parent | 50e48b359eb4e3d3e22d6e447583619d1feaeeae (diff) | |
download | llvm-6aff2fbd56d4bc2d6029f7c9bd49a97f6dc01213.tar.gz llvm-6aff2fbd56d4bc2d6029f7c9bd49a97f6dc01213.tar.bz2 llvm-6aff2fbd56d4bc2d6029f7c9bd49a97f6dc01213.tar.xz |
llvm-mc/Mach-O: Support symbol attributes.
- This is mostly complete, the main thing missing is .indirect_symbol support
(which would be straight-forward, except that the way it is implemented in
'as' makes getting an exact .o match interesting).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79899 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/MC')
-rw-r--r-- | include/llvm/MC/MCAssembler.h | 28 |
1 files changed, 22 insertions, 6 deletions
diff --git a/include/llvm/MC/MCAssembler.h b/include/llvm/MC/MCAssembler.h index bcd678deaa..aae5f08caa 100644 --- a/include/llvm/MC/MCAssembler.h +++ b/include/llvm/MC/MCAssembler.h @@ -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; } + /// @} }; |