From 6b0ba1dbffafa4b836c0604cb79f23807bbcd0d4 Mon Sep 17 00:00:00 2001 From: Paul Brook Date: Thu, 22 May 2008 17:03:55 +0000 Subject: [PATCH] 2008-05-22 Paul Brook gas/ * config/tc-arm.c (parse_cond): Covert to lowercase before matching. --- gas/ChangeLog | 4 ++++ gas/config/tc-arm.c | 19 ++++++++++++++----- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index 592b8de2a3..7a572df7de 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,7 @@ +2008-05-22 Paul Brook + + * config/tc-arm.c (parse_cond): Covert to lowercase before matching. + 2008-05-21 I-Jui Sung * config/tc-arm.c (arm_cpus): Add Faraday ARMv4 and ARMv5TE diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c index 31d4a5b38a..df96d289b5 100644 --- a/gas/config/tc-arm.c +++ b/gas/config/tc-arm.c @@ -5043,14 +5043,23 @@ parse_ror (char **str) static int parse_cond (char **str) { - char *p, *q; + char *q; const struct asm_cond *c; + int n; + /* Condition codes are always 2 characters, so matching up to + 3 characters is sufficient. */ + char cond[3]; - p = q = *str; - while (ISALPHA (*q)) - q++; + q = *str; + n = 0; + while (ISALPHA (*q) && n < 3) + { + cond[n] = TOLOWER(*q); + q++; + n++; + } - c = hash_find_n (arm_cond_hsh, p, q - p); + c = hash_find_n (arm_cond_hsh, cond, n); if (!c) { inst.error = _("condition required"); -- 2.11.0