[llvm-commits] [llvm] r124229 - /llvm/trunk/lib/MC/MCParser/AsmParser.cpp
Bill Wendling
isanbard at gmail.com
Tue Jan 25 13:26:41 PST 2011
Author: void
Date: Tue Jan 25 15:26:41 2011
New Revision: 124229
URL: http://llvm.org/viewvc/llvm-project?rev=124229&view=rev
Log:
Add support for parsing a Real value. It stores the Real value as its binary
encoding. It's up to the individual back-ends to convert it to their preferred
representation when printing.
Modified:
llvm/trunk/lib/MC/MCParser/AsmParser.cpp
Modified: llvm/trunk/lib/MC/MCParser/AsmParser.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCParser/AsmParser.cpp?rev=124229&r1=124228&r2=124229&view=diff
==============================================================================
--- llvm/trunk/lib/MC/MCParser/AsmParser.cpp (original)
+++ llvm/trunk/lib/MC/MCParser/AsmParser.cpp Tue Jan 25 15:26:41 2011
@@ -563,6 +563,13 @@
}
return false;
}
+ case AsmToken::Real: {
+ APFloat RealVal(APFloat::IEEEdouble, getTok().getString());
+ int64_t IntVal = RealVal.bitcastToAPInt().getSExtValue();
+ Res = MCConstantExpr::Create(IntVal, getContext());
+ Lex(); // Eat token.
+ return false;
+ }
case AsmToken::Dot: {
// This is a '.' reference, which references the current PC. Emit a
// temporary label to the streamer and refer to it.
@@ -573,7 +580,6 @@
Lex(); // Eat identifier.
return false;
}
-
case AsmToken::LParen:
Lex(); // Eat the '('.
return ParseParenExpr(Res, EndLoc);
More information about the llvm-commits
mailing list