diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/MC/MCContext.h | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/include/llvm/MC/MCContext.h b/include/llvm/MC/MCContext.h index 070089e..43a9ce6 100644 --- a/include/llvm/MC/MCContext.h +++ b/include/llvm/MC/MCContext.h @@ -39,6 +39,9 @@ namespace llvm { class MCContext { MCContext(const MCContext&); // DO NOT IMPLEMENT MCContext &operator=(const MCContext&); // DO NOT IMPLEMENT + public: + typedef StringMap<MCSymbol*, BumpPtrAllocator&> SymbolTable; + private: /// The MCAsmInfo for this target. const MCAsmInfo &MAI; @@ -52,7 +55,7 @@ namespace llvm { BumpPtrAllocator Allocator; /// Symbols - Bindings of names to symbols. - StringMap<MCSymbol*, BumpPtrAllocator&> Symbols; + SymbolTable Symbols; /// UsedNames - Keeps tracks of names that were used both for used declared /// and artificial symbols. @@ -142,6 +145,14 @@ namespace llvm { /// LookupSymbol - Get the symbol for \p Name, or null. MCSymbol *LookupSymbol(StringRef Name) const; + /// getSymbols - Get a reference for the symbol table for clients that + /// want to, for example, iterate over all symbols. 'const' because we + /// still want any modifications to the table itself to use the MCContext + /// APIs. + const SymbolTable &getSymbols() const { + return Symbols; + } + /// @} /// @name Section Management |