aboutsummaryrefslogtreecommitdiff
path: root/gas/config
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@novell.com>2017-11-23 10:57:54 +0100
committerJan Beulich <jbeulich@suse.com>2017-11-23 10:57:54 +0100
commit38bf51134d1a58f155c89f2b1c7bf885c2604ead (patch)
tree19c6b1b704b0a68c64fa23b28bc5cf922b797231 /gas/config
parent9c23b42ffa67b866cd7562c1d8caed70db5d6840 (diff)
downloadgdb-38bf51134d1a58f155c89f2b1c7bf885c2604ead.zip
gdb-38bf51134d1a58f155c89f2b1c7bf885c2604ead.tar.gz
gdb-38bf51134d1a58f155c89f2b1c7bf885c2604ead.tar.bz2
x86/Intel: don't report multiple errors for a single insn operand
Multiple errors are more confusing than helpful, as the more generic one often implies a sufficiently different adjustment than would actually be needed to fix the code. Additionally it makes it more cumbersome to add missing error checks, as the testsuite then needs extra updating.
Diffstat (limited to 'gas/config')
-rw-r--r--gas/config/tc-i386-intel.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/gas/config/tc-i386-intel.c b/gas/config/tc-i386-intel.c
index b8874e4..79fe0b4 100644
--- a/gas/config/tc-i386-intel.c
+++ b/gas/config/tc-i386-intel.c
@@ -580,12 +580,14 @@ i386_intel_operand (char *operand_string, int got_a_float)
if (!is_end_of_line[(unsigned char) *input_line_pointer])
{
- as_bad (_("junk `%s' after expression"), input_line_pointer);
+ if (ret)
+ as_bad (_("junk `%s' after expression"), input_line_pointer);
ret = 0;
}
else if (exp.X_op == O_illegal || exp.X_op == O_absent)
{
- as_bad (_("invalid expression"));
+ if (ret)
+ as_bad (_("invalid expression"));
ret = 0;
}
else if (!intel_state.has_offset