[LLVMbugs] [Bug 18833] ARMAsmParser fails to recognize .req directive alias name in capital letters

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Sun Feb 16 17:52:24 PST 2014


http://llvm.org/bugs/show_bug.cgi?id=18833

manjian <manjian2006 at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|WORKSFORME                  |---

--- Comment #2 from manjian <manjian2006 at gmail.com> ---
Right,the req directive is case insensitive according to your test.But my point
is  
unreq directive will not working,here my test case:
cat 1.s 
 .thumb
_foo:

  OBJECT .req r2
  mov r4, OBJECT
  mov r4, oBjEcT
  .unreq OBJECT

_foo2:
  OBJECT .req r5
  mov r4, OBJECT
  .unreq OBJECT


bin/clang -target arm-linux-androideabi -march=armv7-a -c 1.s
1.s:12:15: error: redefinition of 'object' does not match original.
  OBJECT .req r5


And here is patch to this bug:
Index: lib/Target/ARM/AsmParser/ARMAsmParser.cpp
===================================================================
--- lib/Target/ARM/AsmParser/ARMAsmParser.cpp    (revision 201500)
+++ lib/Target/ARM/AsmParser/ARMAsmParser.cpp    (working copy)
@@ -8243,7 +8243,7 @@
     Error(L, "unexpected input in .unreq directive.");
     return false;
   }
-  RegisterReqs.erase(Parser.getTok().getIdentifier());
+  RegisterReqs.erase(Parser.getTok().getIdentifier().lower());
   Parser.Lex(); // Eat the identifier.
   return false;
 }

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20140217/cac53102/attachment.html>


More information about the llvm-bugs mailing list