<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Mon, Feb 17, 2014 at 10:01 PM, lin zuojian <span dir="ltr"><<a href="mailto:manjian2006@gmail.com" target="_blank">manjian2006@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">@ Duncan,<br>
I thought just passing the compilation might be test.But I add CHECK<br>
comments now<br>
@Saleem<br>
> Whilst this is conceptually correct, I dont think it is sufficient.<br>
This will fix the `.unreq' directive but will not handle the use of the<br>
alias. Both of them should be addressed simultaneously imo.</blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I have no idea what other alias problem is.FYI,the req directive<br>
requires case insensitive names.<br></blockquote><div><br></div><div>Actually, given your test case, it seems that the lookup is case insensitive?  I dont recall the code taking that into account.  Guess I was mistaken.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Index: test/MC/ARM/dot-req-capital.s<br>
===================================================================<br>
--- test/MC/ARM/dot-req-capital.s (revision 0)<br>
+++ test/MC/ARM/dot-req-capital.s (working copy)<br>
@@ -0,0 +1,20 @@<br>
+@ RUN: llvm-mc -triple=arm < %s | FileCheck %s<br>
+ .syntax unified<br>
+_foo:<br>
+<br>
+ OBJECT .req r2<br>
+ mov r4, OBJECT<br>
+ mov r4, oBjEcT<br>
+ .unreq OBJECT<br>
+<br>
+_foo2:<br>
+ OBJECT .req r5<br>
+ mov r4, OBJECT<br>
+ .unreq OBJECT<br>
+<br>
+@ CHECK-LABEL: _foo:<br>
+@ CHECK: mov r4, r2<br>
+@ CHECK: mov r4, r2<br>
+<br>
+@ CHECK-LABEL: _foo2:<br>
+@ CHECK: mov r4, r5<br></blockquote><div><br></div><div>Your change involves the unreq case, but you arent actually testing the unreq behaviour for case insensitivity.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Index: lib/Target/ARM/AsmParser/ARMAsmParser.cpp<br>
===================================================================<br>
--- lib/Target/ARM/AsmParser/ARMAsmParser.cpp (revision 201500)<br>
+++ lib/Target/ARM/AsmParser/ARMAsmParser.cpp (working copy)<br>
@@ -8243,7 +8243,7 @@<br>
Error(L, "unexpected input in .unreq directive.");<br>
return false;<br>
}<br>
- RegisterReqs.erase(Parser.getTok().getIdentifier());<br>
+ RegisterReqs.erase(Parser.getTok().getIdentifier().lower());<br>
Parser.Lex(); // Eat the identifier.<br>
return false;<br>
}<br>
<br>
<br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>Saleem Abdulrasool<br>compnerd (at) compnerd (dot) org
</div></div>