diff options
Diffstat (limited to 'include/llvm/MC/MCParser/MCAsmParser.h')
-rw-r--r-- | include/llvm/MC/MCParser/MCAsmParser.h | 41 |
1 files changed, 21 insertions, 20 deletions
diff --git a/include/llvm/MC/MCParser/MCAsmParser.h b/include/llvm/MC/MCParser/MCAsmParser.h index eb85a3a30963..6763374185ec 100644 --- a/include/llvm/MC/MCParser/MCAsmParser.h +++ b/include/llvm/MC/MCParser/MCAsmParser.h @@ -1,4 +1,4 @@ -//===-- llvm/MC/MCAsmParser.h - Abstract Asm Parser Interface ---*- C++ -*-===// +//===- llvm/MC/MCAsmParser.h - Abstract Asm Parser Interface ----*- C++ -*-===// // // The LLVM Compiler Infrastructure // @@ -10,16 +10,21 @@ #ifndef LLVM_MC_MCPARSER_MCASMPARSER_H #define LLVM_MC_MCPARSER_MCASMPARSER_H -#include "llvm/ADT/ArrayRef.h" +#include "llvm/ADT/None.h" #include "llvm/ADT/SmallString.h" +#include "llvm/ADT/SmallVector.h" +#include "llvm/ADT/STLExtras.h" #include "llvm/ADT/StringRef.h" #include "llvm/ADT/Twine.h" -#include "llvm/MC/MCParser/AsmLexer.h" -#include "llvm/Support/DataTypes.h" +#include "llvm/MC/MCParser/MCAsmLexer.h" +#include "llvm/Support/SMLoc.h" +#include <cstdint> +#include <string> +#include <utility> namespace llvm { + class MCAsmInfo; -class MCAsmLexer; class MCAsmParserExtension; class MCContext; class MCExpr; @@ -27,10 +32,7 @@ class MCInstPrinter; class MCInstrInfo; class MCStreamer; class MCTargetAsmParser; -class SMLoc; -class SMRange; class SourceMgr; -class Twine; class InlineAsmIdentifierInfo { public: @@ -51,12 +53,12 @@ public: class MCAsmParserSemaCallback { public: virtual ~MCAsmParserSemaCallback(); + virtual void *LookupInlineAsmIdentifier(StringRef &LineBuf, InlineAsmIdentifierInfo &Info, bool IsUnevaluatedContext) = 0; virtual StringRef LookupInlineAsmLabel(StringRef Identifier, SourceMgr &SM, SMLoc Location, bool Create) = 0; - virtual bool LookupInlineAsmField(StringRef Base, StringRef Member, unsigned &Offset) = 0; }; @@ -76,22 +78,21 @@ public: }; private: - MCAsmParser(const MCAsmParser &) = delete; - void operator=(const MCAsmParser &) = delete; - - MCTargetAsmParser *TargetParser; + MCTargetAsmParser *TargetParser = nullptr; unsigned ShowParsedOperands : 1; protected: // Can only create subclasses. MCAsmParser(); - bool HadError; + bool HadError = false; SmallVector<MCPendingError, 1> PendingErrors; /// Flag tracking whether any errors have been encountered. public: + MCAsmParser(const MCAsmParser &) = delete; + MCAsmParser &operator=(const MCAsmParser &) = delete; virtual ~MCAsmParser(); virtual void addDirectiveHandler(StringRef Directive, @@ -186,12 +187,12 @@ public: bool parseEOL(const Twine &ErrMsg); - bool parseMany(std::function<bool()> parseOne, bool hasComma = true); + bool parseMany(function_ref<bool()> parseOne, bool hasComma = true); bool parseIntToken(int64_t &V, const Twine &ErrMsg); - bool check(bool P, const llvm::Twine &Msg); - bool check(bool P, SMLoc Loc, const llvm::Twine &Msg); + bool check(bool P, const Twine &Msg); + bool check(bool P, SMLoc Loc, const Twine &Msg); /// \brief Parse an identifier or string (as a quoted identifier) and set \p /// Res to the identifier contents. @@ -258,8 +259,8 @@ public: /// \brief Create an MCAsmParser instance. MCAsmParser *createMCAsmParser(SourceMgr &, MCContext &, MCStreamer &, - const MCAsmInfo &); + const MCAsmInfo &, unsigned CB = 0); -} // End llvm namespace +} // end namespace llvm -#endif +#endif // LLVM_MC_MCPARSER_MCASMPARSER_H |