diff options
Diffstat (limited to 'gas/config')
-rw-r--r-- | gas/config/tc-i386-intel.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gas/config/tc-i386-intel.c b/gas/config/tc-i386-intel.c index e76e527..64d83e3 100644 --- a/gas/config/tc-i386-intel.c +++ b/gas/config/tc-i386-intel.c @@ -475,6 +475,11 @@ i386_intel_operand (char *operand_string, int got_a_float) saved_input_line_pointer = input_line_pointer; input_line_pointer = buf = xstrdup (operand_string); + /* A '$' followed by an identifier char is an identifier. Otherwise, + it's operator '.' followed by an expression. */ + if (*buf == '$' && !is_identifier_char (buf[1])) + *buf = '.'; + intel_syntax = -1; memset (&exp, 0, sizeof(exp)); exp_seg = expression (&exp); |