Fix Aarch64 bug in warning filtering.

This fixes a small bug with the warning filtering code, which when a line has
generated a warning and a template decode error (due to the way templates are
resolved) which would not have been emitted and warnings are being suppressed
with -W it would erroneously emit the error.

I have no testcase for this because the only places we generate warnings during
encoding/decoding now is using msr/mrs and system registers.  They don't have a
template that would trigger this.

However an upcoming patch series will have tests in it which would expose this bug.

gas/ChangeLog:

	* config/tc-aarch64.c (output_operand_error_report): Apply filtering to
	current instead of head message.
This commit is contained in:
Tamar Christina
2018-09-18 14:36:37 +01:00
parent 206c1947c1
commit af81c43b51
2 changed files with 6 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2018-09-18 Tamar Christina <tamar.christina@arm.com>
* config/tc-aarch64.c (output_operand_error_report): Apply filtering to
current instead of head message.
2018-09-17 Kito Cheng <kito@andestech.com>
* testsuite/gas/riscv/bge.d: New.

View File

@ -4809,7 +4809,7 @@ output_operand_error_report (char *str, bfd_boolean non_fatal_only)
/* If we don't want to print non-fatal errors then don't consider them
at all. */
if (curr->detail.kind != kind
|| (non_fatal_only && !head->detail.non_fatal))
|| (non_fatal_only && !curr->detail.non_fatal))
continue;
/* If there are multiple errors, pick up the one with the highest
mismatching operand index. In the case of multiple errors with