summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-07-28 20:47:52 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-07-28 20:47:52 +0000
commitf59ee96a16500fb1e32fd9c65a9baa0d7a6e7722 (patch)
treee5f14e4cf75075c5ec3e609ae523be31f50ebf65 /llvm/lib
parenta41d9dd1f1bd88e022bc2f82987aeead497088c7 (diff)
downloadbcm5719-llvm-f59ee96a16500fb1e32fd9c65a9baa0d7a6e7722.tar.gz
bcm5719-llvm-f59ee96a16500fb1e32fd9c65a9baa0d7a6e7722.zip
Provide generic MCAsmParser when constructing target specific parsers.
llvm-svn: 77362
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp b/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
index 25d4a6e3304..aec5e3f55e4 100644
--- a/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
+++ b/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
@@ -9,6 +9,7 @@
#include "X86.h"
#include "llvm/ADT/SmallVector.h"
+#include "llvm/MC/MCAsmLexer.h"
#include "llvm/MC/MCAsmParser.h"
#include "llvm/Target/TargetRegistry.h"
#include "llvm/Target/TargetAsmParser.h"
@@ -19,25 +20,26 @@ namespace {
};
class X86ATTAsmParser : public TargetAsmParser {
+ MCAsmParser &Parser;
+
+ private:
bool ParseOperand(X86Operand &Op);
bool MatchInstruction(const StringRef &Name,
llvm::SmallVector<X86Operand, 3> &Operands,
MCInst &Inst);
+ MCAsmLexer &getLexer() const { return Parser.getLexer(); }
+
public:
- explicit X86ATTAsmParser(const Target &);
+ X86ATTAsmParser(const Target &T, MCAsmParser &_Parser)
+ : TargetAsmParser(T), Parser(_Parser) {}
virtual bool ParseInstruction(MCAsmParser &AP, const StringRef &Name,
MCInst &Inst);
};
}
-X86ATTAsmParser::X86ATTAsmParser(const Target &T)
- : TargetAsmParser(T)
-{
-}
-
bool X86ATTAsmParser::ParseOperand(X86Operand &Op) {
return true;
}
OpenPOWER on IntegriCloud