.cfi directive register parsing flexibility.
authorJim Grosbach <grosbach@apple.com>
Thu, 2 Jun 2011 17:14:04 +0000 (17:14 +0000)
committerJim Grosbach <grosbach@apple.com>
Thu, 2 Jun 2011 17:14:04 +0000 (17:14 +0000)
Parsing a register name/number for .cfi directives can't assume that a
register name starts with a '%' token. Be more flexible and check for a
register number instead. Still unlikely to be perfect, but it allows us
to parse both plain identifiers as register names and integers as register
numbers, which is what we're wanting to support at this point.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132466 91177308-0d34-0410-b5e6-96231b3b80d8

lib/MC/MCParser/AsmParser.cpp

index 2ba2fbd4b40e090ada044abddb885f7cad74f858..5f9e6cbf6bd7fa1e6ddc4535b408ab9c769eb04c 100644 (file)
@@ -2330,7 +2330,7 @@ bool GenericAsmParser::ParseRegisterOrRegisterNumber(int64_t &Register,
                                                      SMLoc DirectiveLoc) {
   unsigned RegNo;
 
-  if (getLexer().is(AsmToken::Percent)) {
+  if (getLexer().isNot(AsmToken::Integer)) {
     if (getParser().getTargetParser().ParseRegister(RegNo, DirectiveLoc,
       DirectiveLoc))
       return true;