diff options
author | Daniel Dunbar <daniel@zuster.org> | 2010-07-17 02:26:10 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2010-07-17 02:26:10 +0000 |
commit | 01e3607d70dd082e9a434252fb788a8c712ef886 (patch) | |
tree | c59a1567db424a2b54fec983efcef80aab4d5abf /llvm/lib/MC/MCParser/AsmParser.cpp | |
parent | 6e3b5fa91c324464c08e84cb7af19df7f0d85cc7 (diff) | |
download | bcm5719-llvm-01e3607d70dd082e9a434252fb788a8c712ef886.tar.gz bcm5719-llvm-01e3607d70dd082e9a434252fb788a8c712ef886.zip |
MC/AsmParser: Lift Run() and TargetParser to base class.
Also, add constructor function for creating AsmParser instances.
llvm-svn: 108604
Diffstat (limited to 'llvm/lib/MC/MCParser/AsmParser.cpp')
-rw-r--r-- | llvm/lib/MC/MCParser/AsmParser.cpp | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/llvm/lib/MC/MCParser/AsmParser.cpp b/llvm/lib/MC/MCParser/AsmParser.cpp index 8343c3cbfa7..37cabdb24af 100644 --- a/llvm/lib/MC/MCParser/AsmParser.cpp +++ b/llvm/lib/MC/MCParser/AsmParser.cpp @@ -69,7 +69,7 @@ AsmParser::AsmParser(const Target &T, SourceMgr &_SM, MCContext &_Ctx, MCStreamer &_Out, const MCAsmInfo &_MAI) : Lexer(_MAI), Ctx(_Ctx), Out(_Out), SrcMgr(_SM), GenericParser(new GenericAsmParser), PlatformParser(0), - TargetParser(0), CurBuffer(0) { + CurBuffer(0) { Lexer.setBuffer(SrcMgr.getMemoryBuffer(CurBuffer)); // Initialize the generic parser. @@ -93,12 +93,6 @@ AsmParser::~AsmParser() { delete GenericParser; } -void AsmParser::setTargetParser(TargetAsmParser &P) { - assert(!TargetParser && "Target parser is already initialized!"); - TargetParser = &P; - TargetParser->Initialize(*this); -} - void AsmParser::Warning(SMLoc L, const Twine &Msg) { PrintMessage(L, Msg.str(), "warning"); } @@ -1487,3 +1481,10 @@ bool GenericAsmParser::ParseDirectiveLoc(StringRef, SMLoc DirectiveLoc) { return false; } + +/// \brief Create an MCAsmParser instance. +MCAsmParser *llvm::createMCAsmParser(const Target &T, SourceMgr &SM, + MCContext &C, MCStreamer &Out, + const MCAsmInfo &MAI) { + return new AsmParser(T, SM, C, Out, MAI); +} |