From ac4c4a88441fdb8611834b0cfeb11979e7839d4d Mon Sep 17 00:00:00 2001 From: "Duncan P. N. Exon Smith" Date: Fri, 7 Mar 2014 16:16:52 +0000 Subject: [PATCH] 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 --- lib/Target/ARM/AsmParser/ARMAsmParser.cpp | 2 +- test/MC/ARM/dot-req-case-insensitive.s | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 test/MC/ARM/dot-req-case-insensitive.s diff --git a/lib/Target/ARM/AsmParser/ARMAsmParser.cpp b/lib/Target/ARM/AsmParser/ARMAsmParser.cpp index 7dc4d18a072..4b41a0dd0bb 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 00000000000..c1ca5667fcb --- /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