diff options
author | Jim Grosbach <grosbach@apple.com> | 2011-06-14 21:13:25 +0000 |
---|---|---|
committer | Jim Grosbach <grosbach@apple.com> | 2011-06-14 21:13:25 +0000 |
commit | c35dd25ab820c3db37b7bfd506d656c14b14e331 (patch) | |
tree | 5134af57d60688fc632726f0407775063150efea /include | |
parent | 29a3aa855eed51d2f6b883955e9c9bf7b5aaab29 (diff) | |
download | external_llvm-c35dd25ab820c3db37b7bfd506d656c14b14e331.zip external_llvm-c35dd25ab820c3db37b7bfd506d656c14b14e331.tar.gz external_llvm-c35dd25ab820c3db37b7bfd506d656c14b14e331.tar.bz2 |
Diagnostic for undefined assembler local symbols.
When an assembler local symbol is used but not defined in a module, a
Darwin assembler wants to issue a diagnostic to that effect.
rdar://9559714
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133010 91177308-0d34-0410-b5e6-96231b3b80d8
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 |