diff options
-rw-r--r-- | opcodes/ChangeLog | 6 | ||||
-rw-r--r-- | opcodes/cgen-asm.c | 6 | ||||
-rw-r--r-- | opcodes/cgen-opc.c | 2 |
3 files changed, 13 insertions, 1 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index e449b79..d7dc563 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,9 @@ +2001-06-28 Geoffrey Keating <geoffk@redhat.com> + + * cgen-asm.c (cgen_parse_keyword): Allow any first character. + * cgen-opc.c (cgen_keyword_add): Ignore special first + character when building nonalpha_chars field. + 2001-06-24 Ben Elliston <bje@redhat.com> * m88k-dis.c: Format to conform to GNU coding standards. diff --git a/opcodes/cgen-asm.c b/opcodes/cgen-asm.c index 315b802..7bb29ca 100644 --- a/opcodes/cgen-asm.c +++ b/opcodes/cgen-asm.c @@ -212,6 +212,12 @@ cgen_parse_keyword (cd, strp, keyword_table, valuep) p = start = *strp; + /* Allow any first character. This is to make life easier for + the fairly common case of suffixes, eg. 'ld.b.w', where the first + character of the suffix ('.') is special. */ + if (*p) + ++p; + /* Allow letters, digits, and any special characters. */ while (((p - start) < (int) sizeof (buf)) && *p diff --git a/opcodes/cgen-opc.c b/opcodes/cgen-opc.c index f159943..188a157 100644 --- a/opcodes/cgen-opc.c +++ b/opcodes/cgen-opc.c @@ -134,7 +134,7 @@ cgen_keyword_add (kt, ke) if (ke->name[0] == 0) kt->null_entry = ke; - for (i = 0; i < strlen (ke->name); i++) + for (i = 1; i < strlen (ke->name); i++) if (! isalnum ((unsigned char) ke->name[i]) && ! strchr (kt->nonalpha_chars, ke->name[i])) { |