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

lin zuojian manjian2006 at gmail.com
Tue Feb 18 18:12:04 PST 2014


How does it look like now?

Index: test/MC/ARM/dot-req-case-insensitive.s
===================================================================
--- test/MC/ARM/dot-req-case-insensitive.s (revision 0)
+++ test/MC/ARM/dot-req-case-insensitive.s (working copy)
@@ -0,0 +1,20 @@
+@ RUN: llvm-mc -triple=arm < %s | FileCheck %s
+ .syntax unified
+_foo:
+
+ OBJECT .req r2
+ mov r4, OBJECT
+ mov r4, oBjEcT
+ .unreq oBJECT
+
+_foo2:
+ OBJECT .req r5
+ mov r4, OBJECT
+ .unreq OBJECT
+
+@ CHECK-LABEL: _foo:
+@ CHECK: mov r4, r2
+@ CHECK: mov r4, r2
+
+@ CHECK-LABEL: _foo2:
+@ CHECK: mov r4, r5
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;
}




More information about the llvm-commits mailing list