diff --git a/gas/ChangeLog b/gas/ChangeLog index d77e7ef6f6a..8b6f8f9224f 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,10 @@ +2017-11-23 Jan Beulich + + * config/tc-i386-intel.c (i386_intel_operand): Don't call + as_bad() if a prior error was already reported. + * testsuite/gas/i386/inval-avx512f.l, + testsuite/gas/i386/x86-64-inval-avx512f.l: Adjust expectations. + 2017-11-22 Jim Wilson * as.c: Include write.h. diff --git a/gas/config/tc-i386-intel.c b/gas/config/tc-i386-intel.c index b8874e4b8dd..79fe0b47d45 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 diff --git a/gas/testsuite/gas/i386/inval-avx512f.l b/gas/testsuite/gas/i386/inval-avx512f.l index b49a1d598af..357a3c66289 100644 --- a/gas/testsuite/gas/i386/inval-avx512f.l +++ b/gas/testsuite/gas/i386/inval-avx512f.l @@ -18,10 +18,7 @@ .*:26: Error: .* .*:27: Error: .* .*:28: Error: .* -.*:28: Error: .* .*:29: Error: .* -.*:29: Error: .* -.*:30: Error: .* .*:30: Error: .* .*:32: Error: .* .*:33: Error: .* diff --git a/gas/testsuite/gas/i386/x86-64-inval-avx512f.l b/gas/testsuite/gas/i386/x86-64-inval-avx512f.l index 21c49068151..1f7251d7732 100644 --- a/gas/testsuite/gas/i386/x86-64-inval-avx512f.l +++ b/gas/testsuite/gas/i386/x86-64-inval-avx512f.l @@ -17,10 +17,7 @@ .*:25: Error: .* .*:26: Error: .* .*:27: Error: .* -.*:27: Error: .* .*:28: Error: .* -.*:28: Error: .* -.*:29: Error: .* .*:29: Error: .* .*:31: Error: .* .*:32: Error: .*