patch for Bug 18833 - ARMAsmParser fails to recognize .req directive alias name in capital letters

lin zuojian manjian2006 at gmail.com
Mon Feb 17 18:31:23 PST 2014


And here is my test case.This test case has been posted in 
http://llvm.org/bugs/show_bug.cgi?id=18833

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


By the way manjian is me.

于 2014年02月18日 10:25, Duncan P. N. Exon Smith 写道:
> On 2014 Feb 17, at 17:50, lin zuojian <manjian2006 at gmail.com> wrote:
>
>> It's weird to see a test case already lies in test/MC/ARM/dot-req.s and
>> should show this problem.Here is my patch:
> Hi Lin,
>
> I just had a look at test/MC/ARM/dot-req.s, and I don’t see any capitalized
> names sent to .req.  Certainly, before this can be committed you need to find a
> testcase that fails without your change and passes with it.
>
> It looks like the one manjian posted to PR18833 is a good start.
>
> Duncan
> f
>> 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;
>> }
>>
>> ---
>> lin zuojian
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140218/709f5f4b/attachment.html>


More information about the llvm-commits mailing list