summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>2014-03-07 16:16:52 +0000
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>2014-03-07 16:16:52 +0000
commitac4c4a88441fdb8611834b0cfeb11979e7839d4d (patch)
tree4895d426096689537a1bce654bb08bb04e9da24e
parent1dd31112ff243a5740f813d91f891acdfdc6209a (diff)
downloadllvm-ac4c4a88441fdb8611834b0cfeb11979e7839d4d.tar.gz
llvm-ac4c4a88441fdb8611834b0cfeb11979e7839d4d.tar.bz2
llvm-ac4c4a88441fdb8611834b0cfeb11979e7839d4d.tar.xz
ARM: Make .unreq directives case-insensitive
Be case-insensitive when processing .unreq directives. Patch by Lin Zuojian! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203251 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Target/ARM/AsmParser/ARMAsmParser.cpp2
-rw-r--r--test/MC/ARM/dot-req-case-insensitive.s20
2 files changed, 21 insertions, 1 deletions
diff --git a/lib/Target/ARM/AsmParser/ARMAsmParser.cpp b/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
index 7dc4d18a07..4b41a0dd0b 100644
--- a/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
+++ b/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
@@ -8255,7 +8255,7 @@ bool ARMAsmParser::parseDirectiveUnreq(SMLoc L) {
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;
}
diff --git a/test/MC/ARM/dot-req-case-insensitive.s b/test/MC/ARM/dot-req-case-insensitive.s
new file mode 100644
index 0000000000..c1ca5667fc
--- /dev/null
+++ b/test/MC/ARM/dot-req-case-insensitive.s
@@ -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