MC/AsmLexer: Fix bug in source location for Slash token.
authorDaniel Dunbar <daniel@zuster.org>
Mon, 25 Oct 2010 20:18:53 +0000 (20:18 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Mon, 25 Oct 2010 20:18:53 +0000 (20:18 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117298 91177308-0d34-0410-b5e6-96231b3b80d8

lib/MC/MCParser/AsmLexer.cpp
test/MC/AsmParser/exprs.s

index 7ca1cccc98c21fd4c870e08fbe3cfa79dc5f9b84..867cb208cec419415555c0c257edabb46d869874 100644 (file)
@@ -119,7 +119,7 @@ AsmToken AsmLexer::LexSlash() {
   switch (*CurPtr) {
   case '*': break; // C style comment.
   case '/': return ++CurPtr, LexLineComment();
-  default:  return AsmToken(AsmToken::Slash, StringRef(CurPtr, 1));
+  default:  return AsmToken(AsmToken::Slash, StringRef(CurPtr-1, 1));
   }
 
   // C Style comment.
index 4e514032b6cc3497c618d2c4008a1725ce31a6ff..1cc96a3f41823558d163b1ebe1cd6988c197880a 100644 (file)
@@ -19,9 +19,8 @@ k:
         check_expr +1, 1
         check_expr 1 + 2, 3
         check_expr 1 & 3, 1
-        // FIXME: There is a bug here in macro expansion.
-        .byte 4 / 2
-        .byte 4 / -2
+        check_expr 4 / 2, 2
+        check_expr 4 / -2, -2
         check_expr 1 == 1, 1
         check_expr 1 == 0, 0
         check_expr 1 > 0, 1