[llvm] r214468 - MS inline asm: Fix null SMLoc when 'ptr' is missing after dword & co

Reid Kleckner reid at kleckner.net
Thu Jul 31 17:59:22 PDT 2014


Author: rnk
Date: Thu Jul 31 19:59:22 2014
New Revision: 214468

URL: http://llvm.org/viewvc/llvm-project?rev=214468&view=rev
Log:
MS inline asm: Fix null SMLoc when 'ptr' is missing after dword & co

This improves the diagnostics from the regular assembler, but more
importantly it fixes an assertion when parsing inline assembly.  Test
landing in Clang.

Modified:
    llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpp

Modified: llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpp?rev=214468&r1=214467&r2=214468&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpp (original)
+++ llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpp Thu Jul 31 19:59:22 2014
@@ -1550,7 +1550,7 @@ std::unique_ptr<X86Operand> X86AsmParser
   if (Size) {
     Parser.Lex(); // Eat operand size (e.g., byte, word).
     if (Tok.getString() != "PTR" && Tok.getString() != "ptr")
-      return ErrorOperand(Start, "Expected 'PTR' or 'ptr' token!");
+      return ErrorOperand(Tok.getLoc(), "Expected 'PTR' or 'ptr' token!");
     Parser.Lex(); // Eat ptr.
   }
   Start = Tok.getLoc();





More information about the llvm-commits mailing list