llvm-mc: Evaluation for relocatable expressions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74496 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Daniel Dunbar
2009-06-30 01:49:52 +00:00
parent 9b27622ecb
commit 15d1707096
6 changed files with 152 additions and 41 deletions

View File

@@ -153,6 +153,18 @@ bool AsmParser::ParseAbsoluteExpression(int64_t &Res) {
return false;
}
bool AsmParser::ParseRelocatableExpression(MCValue &Res) {
AsmExpr *Expr;
if (ParseExpression(Expr))
return true;
if (!Expr->EvaluateAsRelocatable(Ctx, Res))
return TokError("expected relocatable expression");
return false;
}
static unsigned getBinOpPrecedence(asmtok::TokKind K,
AsmBinaryExpr::Opcode &Kind) {
switch (K) {