aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/llvm/MC/MCParser/MCAsmParser.h13
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