This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] 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.

gas/
2017-11-20  Jan Beulich  <jbeulich@suse.com>

	* 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.

--- a/gas/config/tc-i386-intel.c
+++ b/gas/config/tc-i386-intel.c
@@ -580,12 +580,14 @@ i386_intel_operand (char *operand_string
 
   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
--- a/gas/testsuite/gas/i386/inval-avx512f.l
+++ b/gas/testsuite/gas/i386/inval-avx512f.l
@@ -18,11 +18,8 @@
 .*:26: Error: .*
 .*:27: Error: .*
 .*:28: Error: .*
-.*:28: Error: .*
-.*:29: Error: .*
 .*:29: Error: .*
 .*:30: Error: .*
-.*:30: Error: .*
 .*:32: Error: .*
 .*:33: Error: .*
 .*:35: Error: .*
--- a/gas/testsuite/gas/i386/x86-64-inval-avx512f.l
+++ b/gas/testsuite/gas/i386/x86-64-inval-avx512f.l
@@ -17,11 +17,8 @@
 .*:25: Error: .*
 .*:26: Error: .*
 .*:27: Error: .*
-.*:27: Error: .*
-.*:28: Error: .*
 .*:28: Error: .*
 .*:29: Error: .*
-.*:29: Error: .*
 .*:31: Error: .*
 .*:32: Error: .*
 .*:34: Error: .*




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]