llvm-mc: Evaluation for relocatable expressions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74496 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/llvm-mc/AsmParser.h b/tools/llvm-mc/AsmParser.h
index 8cd40eb..3a812c3 100644
--- a/tools/llvm-mc/AsmParser.h
+++ b/tools/llvm-mc/AsmParser.h
@@ -22,7 +22,8 @@
 class MCContext;
 class MCInst;
 class MCStreamer;
-  
+class MCValue;
+
 class AsmParser {
   AsmLexer Lexer;
   MCContext &Ctx;
@@ -53,15 +54,23 @@
   /// @param Res - The resulting expression. The pointer value is null on error.
   /// @result - False on success.
   bool ParseExpression(AsmExpr *&Res);
-  
-  /// ParseAbsoluteExpr - Parse an expression which must evaluate to an absolute
-  /// value.
+
+  /// ParseAbsoluteExpression - Parse an expression which must evaluate to an
+  /// absolute value.
   ///
   /// @param Res - The value of the absolute expression. The result is undefined
   /// on error.
   /// @result - False on success.
   bool ParseAbsoluteExpression(int64_t &Res);
 
+  /// ParseRelocatableExpression - Parse an expression which must be
+  /// relocatable.
+  ///
+  /// @param Res - The relocatable expression value. The result is undefined on
+  /// error.  
+  /// @result - False on success.
+  bool ParseRelocatableExpression(MCValue &Res);
+
   bool ParsePrimaryExpr(AsmExpr *&Res);
   bool ParseBinOpRHS(unsigned Precedence, AsmExpr *&Res);
   bool ParseParenExpr(AsmExpr *&Res);