diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-07-28 20:47:52 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-07-28 20:47:52 +0000 |
commit | f59ee96a16500fb1e32fd9c65a9baa0d7a6e7722 (patch) | |
tree | e5f14e4cf75075c5ec3e609ae523be31f50ebf65 /llvm/lib | |
parent | a41d9dd1f1bd88e022bc2f82987aeead497088c7 (diff) | |
download | bcm5719-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.cpp | 14 |
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; } |