diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-08-31 08:07:44 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-08-31 08:07:44 +0000 |
commit | 6ce004dc76a8761a7e1a8830206ccaaf96736615 (patch) | |
tree | 160816131d2a57f4d714125cca27a87b467e8189 /tools | |
parent | 87392fde1f261fea161b48886fafbedddb18dcce (diff) | |
download | external_llvm-6ce004dc76a8761a7e1a8830206ccaaf96736615.zip external_llvm-6ce004dc76a8761a7e1a8830206ccaaf96736615.tar.gz external_llvm-6ce004dc76a8761a7e1a8830206ccaaf96736615.tar.bz2 |
llvm-mc: Add MCAsmParser::getContext.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80571 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools')
-rw-r--r-- | tools/llvm-mc/AsmParser.cpp | 17 | ||||
-rw-r--r-- | tools/llvm-mc/AsmParser.h | 14 |
2 files changed, 13 insertions, 18 deletions
diff --git a/tools/llvm-mc/AsmParser.cpp b/tools/llvm-mc/AsmParser.cpp index 6f002e1..5d73a9f 100644 --- a/tools/llvm-mc/AsmParser.cpp +++ b/tools/llvm-mc/AsmParser.cpp @@ -205,7 +205,7 @@ bool AsmParser::ParsePrimaryExpr(const MCExpr *&Res) { Lexer.Lex(); // Eat the operator. if (ParsePrimaryExpr(Res)) return true; - Res = MCUnaryExpr::CreateLNot(Res, Ctx); + Res = MCUnaryExpr::CreateLNot(Res, getContext()); return false; case AsmToken::String: case AsmToken::Identifier: { @@ -213,12 +213,12 @@ bool AsmParser::ParsePrimaryExpr(const MCExpr *&Res) { // handle things like LFOO+4. MCSymbol *Sym = CreateSymbol(Lexer.getTok().getIdentifier()); - Res = MCSymbolRefExpr::Create(Sym, Ctx); + Res = MCSymbolRefExpr::Create(Sym, getContext()); Lexer.Lex(); // Eat identifier. return false; } case AsmToken::Integer: - Res = MCConstantExpr::Create(Lexer.getTok().getIntVal(), Ctx); + Res = MCConstantExpr::Create(Lexer.getTok().getIntVal(), getContext()); Lexer.Lex(); // Eat token. return false; case AsmToken::LParen: @@ -228,19 +228,19 @@ bool AsmParser::ParsePrimaryExpr(const MCExpr *&Res) { Lexer.Lex(); // Eat the operator. if (ParsePrimaryExpr(Res)) return true; - Res = MCUnaryExpr::CreateMinus(Res, Ctx); + Res = MCUnaryExpr::CreateMinus(Res, getContext()); return false; case AsmToken::Plus: Lexer.Lex(); // Eat the operator. if (ParsePrimaryExpr(Res)) return true; - Res = MCUnaryExpr::CreatePlus(Res, Ctx); + Res = MCUnaryExpr::CreatePlus(Res, getContext()); return false; case AsmToken::Tilde: Lexer.Lex(); // Eat the operator. if (ParsePrimaryExpr(Res)) return true; - Res = MCUnaryExpr::CreateNot(Res, Ctx); + Res = MCUnaryExpr::CreateNot(Res, getContext()); return false; } } @@ -300,7 +300,8 @@ bool AsmParser::ParseParenRelocatableExpression(MCValue &Res) { static unsigned getBinOpPrecedence(AsmToken::TokenKind K, MCBinaryExpr::Opcode &Kind) { switch (K) { - default: return 0; // not a binop. + default: + return 0; // not a binop. // Lowest Precedence: &&, || case AsmToken::AmpAmp: @@ -397,7 +398,7 @@ bool AsmParser::ParseBinOpRHS(unsigned Precedence, const MCExpr *&Res) { } // Merge LHS and RHS according to operator. - Res = MCBinaryExpr::Create(Kind, Res, RHS, Ctx); + Res = MCBinaryExpr::Create(Kind, Res, RHS, getContext()); } } diff --git a/tools/llvm-mc/AsmParser.h b/tools/llvm-mc/AsmParser.h index c7b7316..b7082b6 100644 --- a/tools/llvm-mc/AsmParser.h +++ b/tools/llvm-mc/AsmParser.h @@ -62,6 +62,8 @@ public: virtual MCAsmLexer &getLexer() { return Lexer; } + virtual MCContext &getContext() { return Ctx; } + virtual void Warning(SMLoc L, const Twine &Meg); virtual bool Error(SMLoc L, const Twine &Msg); @@ -72,6 +74,8 @@ public: virtual bool ParseRelocatableExpression(MCValue &Res); + virtual bool ParseParenRelocatableExpression(MCValue &Res); + /// } private: @@ -94,16 +98,6 @@ private: bool ParseAssignment(const StringRef &Name, bool IsDotSet); - /// ParseParenRelocatableExpression - Parse an expression which must be - /// relocatable, assuming that an initial '(' has already been consumed. - /// - /// @param Res - The relocatable expression value. The result is undefined on - /// error. - /// @result - False on success. - /// - /// @see ParseRelocatableExpression, ParseParenExpr. - bool ParseParenRelocatableExpression(MCValue &Res); - bool ParsePrimaryExpr(const MCExpr *&Res); bool ParseBinOpRHS(unsigned Precedence, const MCExpr *&Res); bool ParseParenExpr(const MCExpr *&Res); |