aboutsummaryrefslogtreecommitdiff
path: root/zlib/infback.c
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2023-03-20 16:59:06 +0100
committerJan Beulich <jbeulich@suse.com>2023-03-20 16:59:06 +0100
commit4795cd4a26bff8dd3ecf805b81077bdb3bd516c1 (patch)
treef3d57ffe97a1b9eee675d91e11e8557a4ab27b2d /zlib/infback.c
parentccb05c9c999f274c92b09f4b29c41d91cece88cf (diff)
downloadbinutils-4795cd4a26bff8dd3ecf805b81077bdb3bd516c1.zip
binutils-4795cd4a26bff8dd3ecf805b81077bdb3bd516c1.tar.gz
binutils-4795cd4a26bff8dd3ecf805b81077bdb3bd516c1.tar.bz2
x86: drop identifier_chars[]
It tries to resemble what's underlying is_part_of_name(), but doesn't quite achieve that: '$' for example is unconditionally marked as part of symbol names, but was included as identifier char for Intel syntax only. Note that i386_att_operand() checks for the immediate prefix first, so the wider coverage by starts_memory_operand() is has no real effect there, but it does matter for something like mov %fs:$dollar, %eax which previously wasn't accepted (but which clearly is a memory reference - there's no point in forcing people to parenthesize the symbol name). Similarly including '%' as an identfier for Intel syntax had no real significance to the rest of the assembler. If '%' was to be valid in (unquoted) symbol names, LEX_PCT would need to be defined. Note further that this also addresses the latent issue of a sub-target defining LEX_AT or LEX_QM to zero: That would make '@' and/or '?' no valid part of symbol names, but would have included them in what is_identifier_char() considers a valid part of a name. (There's a minor related issue which is actually being eliminated: te-interix.h allows '@' only in the middle of symbol names, yet starts_memory_operand() specifically looks at the first character of [possibly] a symbol name.) In parse_real_register() there's no point also checking is_name_ender() as at this point no character is marked solely LEX_END_NAME by any sub- target. Checking is_name_beginner() is also pointless as the hash lookup will fail anyway for a zero-length name. While touching the check in parse_real_register() also drop the "allow_naked_reg" part of the condition: This has only led to inconsistent error messages.
Diffstat (limited to 'zlib/infback.c')
0 files changed, 0 insertions, 0 deletions