autoupgrade files that use callfoo as call foo.
authorChris Lattner <sabre@nondot.org>
Sun, 18 Nov 2007 18:43:24 +0000 (18:43 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 18 Nov 2007 18:43:24 +0000 (18:43 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44218 91177308-0d34-0410-b5e6-96231b3b80d8

lib/AsmParser/LLLexer.cpp

index 25b532fb7b6b10c03fd71c24a190d45322f73c21..27798be618e7f13199163ef1749516f74695a07d 100644 (file)
@@ -617,12 +617,20 @@ int LLLexer::LexIdentifier() {
     }
   }
   
-  // Finally, if this is "cc1234", return this as just "cc".
+  // If this is "cc1234", return this as just "cc".
   if (TokStart[0] == 'c' && TokStart[1] == 'c') {
     CurPtr = TokStart+2;
     return CC_TOK;
   }
   
+  // If this starts with "call", return it as CALL.  This is to support old
+  // broken .ll files.  FIXME: remove this with LLVM 3.0.
+  if (CurPtr-TokStart > 4 && !memcmp(TokStart, "call", 4)) {
+    CurPtr = TokStart+4;
+    llvmAsmlval.OtherOpVal = Instruction::Call;
+    return CALL;
+  }
+  
   // Finally, if this isn't known, return just a single character.
   CurPtr = TokStart+1;
   return TokStart[0];