diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/MC/MCParser/MCAsmParser.h | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/include/llvm/MC/MCParser/MCAsmParser.h b/include/llvm/MC/MCParser/MCAsmParser.h index a0433f9855..cb8476d2ce 100644 --- a/include/llvm/MC/MCParser/MCAsmParser.h +++ b/include/llvm/MC/MCParser/MCAsmParser.h @@ -11,10 +11,11 @@ #define LLVM_MC_MCPARSER_MCASMPARSER_H #include "llvm/ADT/ArrayRef.h" +#include "llvm/MC/MCParser/AsmLexer.h" #include "llvm/Support/DataTypes.h" +#include <vector> namespace llvm { -class AsmToken; class MCAsmInfo; class MCAsmLexer; class MCAsmParserExtension; @@ -41,6 +42,10 @@ public: unsigned &Offset) = 0; }; + +typedef std::vector<AsmToken> MCAsmMacroArgument; + + /// MCAsmParser - Generic assembler parser interface, for use by target specific /// assembly parsers. class MCAsmParser { @@ -140,6 +145,12 @@ public: virtual bool MacrosEnabled() = 0; virtual void SetMacrosEnabled(bool flag) = 0; + /// ParseMacroArgument - Extract AsmTokens for a macro argument. If the + /// argument delimiter is initially unknown, set it to AsmToken::Eof. It will + /// be set to the correct delimiter by the method. + virtual bool ParseMacroArgument(MCAsmMacroArgument &MA, + AsmToken::TokenKind &ArgumentDelimiter) = 0; + /// ParseExpression - Parse an arbitrary expression. /// /// @param Res - The value of the expression. The result is undefined |