aboutsummaryrefslogtreecommitdiff
path: root/gas/config
diff options
context:
space:
mode:
Diffstat (limited to 'gas/config')
-rw-r--r--gas/config/tc-i386-intel.c5
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);