From ac6582253b64aed40739f916d4080af42c73b194 Mon Sep 17 00:00:00 2001 From: Jens Remus Date: Fri, 1 Mar 2024 12:45:14 +0100 Subject: s390: Provide operand number in assembler warning and error messages Prepend the operand number "operand %d:" to the s390-specific assembler operand parsing warning and error messages. While at it reword the custom operand out of range error message text to be closer to the one used by as_bad_value_out_of_range(). Additionally reword the invalid FPR pair warning message to make it nicer. gas/ * config/tc-s390.c: Print operand number in error messages. * testsuite/gas/s390/zarch-base-index-0-err.l: Update test case verification patterns to accept syntax error messages now containing the operand number. * testsuite/gas/s390/zarch-omitted-base-index-err.l: Likewise. * testsuite/gas/s390/zarch-warn-areg-zero.l: Likewise. * testsuite/gas/s390/zarch-z9-109-err.l: Likewise. * testsuite/gas/s390/zarch-z900-err.l: Likewise. Reviewed-by: Andreas Krebbel Signed-off-by: Jens Remus --- gas/config/tc-s390.c | 107 +++++++++++------ gas/testsuite/gas/s390/zarch-base-index-0-err.l | 106 ++++++++--------- .../gas/s390/zarch-omitted-base-index-err.l | 24 ++-- gas/testsuite/gas/s390/zarch-warn-areg-zero.l | 128 ++++++++++----------- gas/testsuite/gas/s390/zarch-z9-109-err.l | 2 +- gas/testsuite/gas/s390/zarch-z900-err.l | 4 +- 6 files changed, 206 insertions(+), 165 deletions(-) (limited to 'gas') diff --git a/gas/config/tc-s390.c b/gas/config/tc-s390.c index edf8883..a2f499b 100644 --- a/gas/config/tc-s390.c +++ b/gas/config/tc-s390.c @@ -663,6 +663,41 @@ s390_md_finish (void) bfd_set_arch_mach (stdoutput, bfd_arch_s390, bfd_mach_s390_31); } +static void +s390_bad_operand_out_of_range (int operand_number, + offsetT value, + offsetT min, + offsetT max, + const char *file, + unsigned line) +{ + const char * err; + + if (operand_number > 0) + { + /* xgettext:c-format. */ + err =_("operand %d: operand out of range (%" PRId64 + " is not between %" PRId64 " and %" PRId64 ")"); + if (file) + as_bad_where (file, line, err, operand_number, + (int64_t) value, (int64_t) min, (int64_t) max); + else + as_bad (err, operand_number, + (int64_t) value, (int64_t) min, (int64_t) max); + } + else + { + /* xgettext:c-format. */ + err = _("operand out of range (%" PRId64 + " is not between %" PRId64 " and %" PRId64 ")"); + if (file) + as_bad_where (file, line, err, + (int64_t) value, (int64_t) min, (int64_t) max); + else + as_bad (err, (int64_t) value, (int64_t) min, (int64_t) max); + } +} + /* Insert an operand value into an instruction. */ static void @@ -670,7 +705,8 @@ s390_insert_operand (unsigned char *insn, const struct s390_operand *operand, offsetT val, const char *file, - unsigned int line) + unsigned int line, + int operand_number) { addressT uval; int offset; @@ -687,21 +723,16 @@ s390_insert_operand (unsigned char *insn, /* Check for underflow / overflow. */ if (val < min || val > max) { - const char *err = - _("operand out of range (%" PRId64 " not between %" PRId64 - " and %" PRId64 ")"); - if (operand->flags & S390_OPERAND_PCREL) { val = (offsetT) ((addressT) val << 1); min = (offsetT) ((addressT) min << 1); max = (offsetT) ((addressT) max << 1); } - if (file == (char *) NULL) - as_bad (err, (int64_t) val, (int64_t) min, (int64_t) max); - else - as_bad_where (file, line, - err, (int64_t) val, (int64_t) min, (int64_t) max); + + s390_bad_operand_out_of_range (operand_number, val, min, max, + file, line); + return; } /* val is ok, now restrict it to operand->bits bits. */ @@ -736,7 +767,8 @@ s390_insert_operand (unsigned char *insn, max++; } - as_bad_value_out_of_range (_("operand"), uval, (offsetT) min, (offsetT) max, file, line); + s390_bad_operand_out_of_range (operand_number, val, min, max, + file, line); return; } @@ -1364,7 +1396,7 @@ md_gather_operands (char *str, { /* Optional parameters might need to be ORed with a value so calling s390_insert_operand is needed. */ - s390_insert_operand (insn, operand, 0, NULL, 0); + s390_insert_operand (insn, operand, 0, NULL, 0, operand_number); break; } @@ -1394,12 +1426,12 @@ md_gather_operands (char *str, /* Write the operand to the insn. */ if (ex.X_op == O_illegal) - as_bad (_("illegal operand")); + as_bad (_("operand %d: illegal operand"), operand_number); else if (ex.X_op == O_absent) { if (opindex_ptr[0] == '\0') break; - as_bad (_("missing operand")); + as_bad (_("operand %d: missing operand"), operand_number); } else if (ex.X_op == O_register || ex.X_op == O_constant) { @@ -1410,7 +1442,7 @@ md_gather_operands (char *str, /* We need to generate a fixup for the expression returned by s390_lit_suffix. */ if (fc >= MAX_INSN_FIXUPS) - as_fatal (_("too many fixups")); + as_fatal (_("operand %d: too many fixups"), operand_number); fixups[fc].exp = ex; fixups[fc].opindex = *opindex_ptr; fixups[fc].reloc = BFD_RELOC_UNUSED; @@ -1420,29 +1452,32 @@ md_gather_operands (char *str, { if ((operand->flags & S390_OPERAND_LENGTH) && ex.X_op != O_constant) - as_bad (_("invalid length field specified")); + as_bad (_("operand %d: invalid length field specified"), + operand_number); if ((operand->flags & S390_OPERAND_INDEX) && ex.X_add_number == 0 && warn_areg_zero) - as_warn (_("index register specified but zero")); + as_warn (_("operand %d: index register specified but zero"), + operand_number); if ((operand->flags & S390_OPERAND_BASE) && ex.X_add_number == 0 && warn_areg_zero) - as_warn (_("base register specified but zero")); + as_warn (_("operand %d: base register specified but zero"), + operand_number); if ((operand->flags & S390_OPERAND_GPR) && (operand->flags & S390_OPERAND_REG_PAIR) && (ex.X_add_number & 1)) - as_bad (_("odd numbered general purpose register specified as " - "register pair")); + as_bad (_("operand %d: odd numbered general purpose register " + "specified as register pair"), operand_number); if ((operand->flags & S390_OPERAND_FPR) && (operand->flags & S390_OPERAND_REG_PAIR) && ex.X_add_number != 0 && ex.X_add_number != 1 && ex.X_add_number != 4 && ex.X_add_number != 5 && ex.X_add_number != 8 && ex.X_add_number != 9 && ex.X_add_number != 12 && ex.X_add_number != 13) - as_bad (_("invalid floating point register pair. Valid fp " - "register pair operands are 0, 1, 4, 5, 8, 9, " - "12 or 13.")); + as_bad (_("operand %d: invalid floating-point register (FPR) " + "pair (valid FPR pair operands are 0, 1, 4, 5, 8, 9, " + "12 or 13)"), operand_number); if (warn_regtype_mismatch && ex.X_op == O_register && !(opcode->flags & S390_INSTR_FLAG_PSEUDO_MNEMONIC)) { @@ -1481,7 +1516,7 @@ md_gather_operands (char *str, operand_number, expected_regtype); } } - s390_insert_operand (insn, operand, ex.X_add_number, NULL, 0); + s390_insert_operand (insn, operand, ex.X_add_number, NULL, 0, operand_number); } } else @@ -1567,11 +1602,11 @@ md_gather_operands (char *str, } if (suffix != ELF_SUFFIX_NONE && reloc == BFD_RELOC_UNUSED) - as_bad (_("invalid operand suffix")); + as_bad (_("operand %d: invalid operand suffix"), operand_number); /* We need to generate a fixup of type 'reloc' for this expression. */ if (fc >= MAX_INSN_FIXUPS) - as_fatal (_("too many fixups")); + as_fatal (_("operand %d: too many fixups"), operand_number); fixups[fc].exp = ex; fixups[fc].opindex = *opindex_ptr; fixups[fc].reloc = reloc; @@ -1591,7 +1626,8 @@ md_gather_operands (char *str, skipped. A length operand may not be skipped. */ operand = s390_operands + *(++opindex_ptr); if (!(operand->flags & (S390_OPERAND_INDEX|S390_OPERAND_BASE))) - as_bad (_("syntax error; missing '(' after displacement")); + as_bad (_("operand %d: syntax error; missing '(' after displacement"), + operand_number); /* Ok, skip all operands until S390_OPERAND_BASE. */ while (!(operand->flags & S390_OPERAND_BASE)) @@ -1611,7 +1647,8 @@ md_gather_operands (char *str, while (opindex_ptr[1] != '\0') { operand = s390_operands + *(++opindex_ptr); - as_bad (_("syntax error; expected ','")); + as_bad (_("operand %d: syntax error; expected ','"), + operand_number); break; } } @@ -1649,7 +1686,8 @@ md_gather_operands (char *str, { /* After the base register the parenthesised block ends. */ if (*str != ')') - as_bad (_("syntax error; missing ')' after base register")); + as_bad (_("operand %d: syntax error; missing ')' after base register"), + operand_number); else str++; omitted_base_or_index = 0; @@ -1668,7 +1706,8 @@ md_gather_operands (char *str, while (opindex_ptr[1] != '\0') { operand = s390_operands + *(++opindex_ptr); - as_bad (_("syntax error; expected ','")); + as_bad (_("operand %d: syntax error; expected ','"), + operand_number); break; } } @@ -1691,7 +1730,8 @@ md_gather_operands (char *str, operand = s390_operands + *(++opindex_ptr); if (!(operand->flags & S390_OPERAND_BASE)) - as_bad (_("syntax error; '%c' not allowed here"), *str); + as_bad (_("operand %d: syntax error; '%c' not allowed here"), + operand_number, *str); if (*str == ',') str++; str++; @@ -1711,7 +1751,8 @@ md_gather_operands (char *str, while (opindex_ptr[1] != '\0') { operand = s390_operands + *(++opindex_ptr); - as_bad (_("syntax error; expected ','")); + as_bad (_("operand %d: syntax error; expected ','"), + operand_number); break; } } @@ -2419,7 +2460,7 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED) { /* Insert the fully resolved operand value. */ s390_insert_operand ((unsigned char *) where, operand, - (offsetT) value, fixP->fx_file, fixP->fx_line); + (offsetT) value, fixP->fx_file, fixP->fx_line, 0); return; } diff --git a/gas/testsuite/gas/s390/zarch-base-index-0-err.l b/gas/testsuite/gas/s390/zarch-base-index-0-err.l index e7d03ec..6332d99 100644 --- a/gas/testsuite/gas/s390/zarch-base-index-0-err.l +++ b/gas/testsuite/gas/s390/zarch-base-index-0-err.l @@ -1,74 +1,74 @@ .*: Assembler messages: .*:5: Error: bad expression -.*:5: Error: syntax error; missing '\)' after base register +.*:5: Error: operand 1: syntax error; missing '\)' after base register .*:8: Error: bad expression -.*:8: Error: syntax error; missing '\)' after base register +.*:8: Error: operand 2: syntax error; missing '\)' after base register .*:9: Error: bad expression -.*:9: Error: syntax error; missing '\)' after base register +.*:9: Error: operand 2: syntax error; missing '\)' after base register .*:12: Error: bad expression -.*:12: Error: syntax error; missing '\)' after base register +.*:12: Error: operand 2: syntax error; missing '\)' after base register .*:13: Error: bad expression -.*:13: Error: syntax error; missing '\)' after base register +.*:13: Error: operand 2: syntax error; missing '\)' after base register .*:14: Error: bad expression -.*:14: Error: syntax error; missing '\)' after base register +.*:14: Error: operand 2: syntax error; missing '\)' after base register .*:15: Error: bad expression -.*:15: Error: syntax error; missing '\)' after base register +.*:15: Error: operand 2: syntax error; missing '\)' after base register .*:16: Error: bad expression -.*:16: Error: syntax error; missing '\)' after base register -.*:17: Error: operand out of range \(0 is not between 1 and 256\) -.*:18: Error: missing operand -.*:19: Error: missing operand -.*:20: Error: missing operand +.*:16: Error: operand 2: syntax error; missing '\)' after base register +.*:17: Error: operand 1: operand out of range \(0 is not between 1 and 256\) +.*:18: Error: operand 1: missing operand +.*:19: Error: operand 1: missing operand +.*:20: Error: operand 1: missing operand .*:21: Error: bad expression -.*:21: Error: operand out of range \(0 is not between 1 and 256\) -.*:21: Error: operand out of range \(32 is not between 0 and 15\) -.*:21: Error: syntax error; missing '\)' after base register -.*:21: Error: syntax error; expected ',' +.*:21: Error: operand 1: operand out of range \(0 is not between 1 and 256\) +.*:21: Error: operand 1: operand out of range \(32 is not between 0 and 15\) +.*:21: Error: operand 1: syntax error; missing '\)' after base register +.*:21: Error: operand 1: syntax error; expected ',' .*:21: Error: bad expression .*:21: Error: found 'r', expected: '\)' -.*:21: Error: syntax error; missing '\)' after base register +.*:21: Error: operand 1: syntax error; missing '\)' after base register .*:21: Error: junk at end of line: `r2\)' -.*:22: Error: syntax error; missing '\(' after displacement -.*:23: Error: invalid length field specified -.*:26: Error: operand out of range \(0 is not between 1 and 16\) -.*:27: Error: missing operand -.*:28: Error: missing operand -.*:29: Error: missing operand +.*:22: Error: operand 1: syntax error; missing '\(' after displacement +.*:23: Error: operand 1: invalid length field specified +.*:26: Error: operand 1: operand out of range \(0 is not between 1 and 16\) +.*:27: Error: operand 1: missing operand +.*:28: Error: operand 1: missing operand +.*:29: Error: operand 1: missing operand .*:30: Error: bad expression -.*:30: Error: operand out of range \(0 is not between 1 and 16\) -.*:30: Error: operand out of range \(32 is not between 0 and 15\) -.*:30: Error: syntax error; missing '\)' after base register -.*:30: Error: syntax error; expected ',' +.*:30: Error: operand 1: operand out of range \(0 is not between 1 and 16\) +.*:30: Error: operand 1: operand out of range \(32 is not between 0 and 15\) +.*:30: Error: operand 1: syntax error; missing '\)' after base register +.*:30: Error: operand 1: syntax error; expected ',' .*:30: Error: found ',', expected: '\)' -.*:31: Error: syntax error; missing '\(' after displacement -.*:32: Error: operand out of range \(0 is not between 1 and 16\) -.*:33: Error: missing operand -.*:34: Error: missing operand -.*:35: Error: missing operand +.*:31: Error: operand 1: syntax error; missing '\(' after displacement +.*:32: Error: operand 2: operand out of range \(0 is not between 1 and 16\) +.*:33: Error: operand 2: missing operand +.*:34: Error: operand 2: missing operand +.*:35: Error: operand 2: missing operand .*:36: Error: bad expression -.*:36: Error: operand out of range \(0 is not between 1 and 16\) -.*:36: Error: syntax error; expected ',' -.*:37: Error: syntax error; missing '\(' after displacement -.*:38: Error: operand out of range \(0 is not between 1 and 16\) -.*:38: Error: operand out of range \(0 is not between 1 and 16\) -.*:39: Error: missing operand -.*:39: Error: missing operand -.*:40: Error: missing operand -.*:40: Error: missing operand -.*:41: Error: missing operand -.*:41: Error: missing operand +.*:36: Error: operand 2: operand out of range \(0 is not between 1 and 16\) +.*:36: Error: operand 2: syntax error; expected ',' +.*:37: Error: operand 2: syntax error; missing '\(' after displacement +.*:38: Error: operand 1: operand out of range \(0 is not between 1 and 16\) +.*:38: Error: operand 2: operand out of range \(0 is not between 1 and 16\) +.*:39: Error: operand 1: missing operand +.*:39: Error: operand 2: missing operand +.*:40: Error: operand 1: missing operand +.*:40: Error: operand 2: missing operand +.*:41: Error: operand 1: missing operand +.*:41: Error: operand 2: missing operand .*:42: Error: bad expression -.*:42: Error: operand out of range \(0 is not between 1 and 16\) -.*:42: Error: operand out of range \(32 is not between 0 and 15\) -.*:42: Error: syntax error; missing '\)' after base register -.*:42: Error: syntax error; expected ',' +.*:42: Error: operand 1: operand out of range \(0 is not between 1 and 16\) +.*:42: Error: operand 1: operand out of range \(32 is not between 0 and 15\) +.*:42: Error: operand 1: syntax error; missing '\)' after base register +.*:42: Error: operand 1: syntax error; expected ',' .*:42: Error: bad expression .*:42: Error: missing '\)' -.*:42: Error: operand out of range \(0 is not between 1 and 16\) -.*:42: Error: syntax error; expected ',' -.*:43: Error: syntax error; missing '\(' after displacement -.*:43: Error: syntax error; missing '\(' after displacement +.*:42: Error: operand 1: operand out of range \(0 is not between 1 and 16\) +.*:42: Error: operand 1: syntax error; expected ',' +.*:43: Error: operand 1: syntax error; missing '\(' after displacement +.*:43: Error: operand 2: syntax error; missing '\(' after displacement .*:46: Error: bad expression -.*:46: Error: syntax error; missing '\)' after base register +.*:46: Error: operand 2: syntax error; missing '\)' after base register .*:47: Error: bad expression -.*:47: Error: syntax error; missing '\)' after base register +.*:47: Error: operand 2: syntax error; missing '\)' after base register diff --git a/gas/testsuite/gas/s390/zarch-omitted-base-index-err.l b/gas/testsuite/gas/s390/zarch-omitted-base-index-err.l index f222fe0..b2ee382 100644 --- a/gas/testsuite/gas/s390/zarch-omitted-base-index-err.l +++ b/gas/testsuite/gas/s390/zarch-omitted-base-index-err.l @@ -1,21 +1,21 @@ .*: Assembler messages: .*:5: Error: bad expression -.*:5: Error: syntax error; missing '\)' after base register +.*:5: Error: operand 3: syntax error; missing '\)' after base register .*:8: Error: bad expression -.*:8: Error: syntax error; missing '\)' after base register +.*:8: Error: operand 2: syntax error; missing '\)' after base register .*:11: Warning: operand 2: expected general register name as base register .*:12: Error: bad expression -.*:12: Error: syntax error; missing '\)' after base register -.*:15: Error: missing operand -.*:16: Error: missing operand -.*:17: Error: invalid length field specified +.*:12: Error: operand 2: syntax error; missing '\)' after base register +.*:15: Error: operand 1: missing operand +.*:16: Error: operand 1: missing operand +.*:17: Error: operand 1: invalid length field specified .*:18: Error: bad expression -.*:18: Error: operand out of range \(0 is not between 1 and 256\) -.*:18: Error: operand out of range \(32 is not between 0 and 15\) -.*:18: Error: syntax error; missing '\)' after base register -.*:18: Error: syntax error; expected ',' +.*:18: Error: operand 1: operand out of range \(0 is not between 1 and 256\) +.*:18: Error: operand 1: operand out of range \(32 is not between 0 and 15\) +.*:18: Error: operand 1: syntax error; missing '\)' after base register +.*:18: Error: operand 1: syntax error; expected ',' .*:18: Error: bad expression .*:18: Error: found 'r', expected: '\)' -.*:18: Error: syntax error; missing '\)' after base register +.*:18: Error: operand 1: syntax error; missing '\)' after base register .*:18: Error: junk at end of line: `r2\)' -.*:19: Error: syntax error; missing '\(' after displacement +.*:19: Error: operand 1: syntax error; missing '\(' after displacement diff --git a/gas/testsuite/gas/s390/zarch-warn-areg-zero.l b/gas/testsuite/gas/s390/zarch-warn-areg-zero.l index decf896..b820e4c 100644 --- a/gas/testsuite/gas/s390/zarch-warn-areg-zero.l +++ b/gas/testsuite/gas/s390/zarch-warn-areg-zero.l @@ -1,65 +1,65 @@ .*: Assembler messages: -.*:6: Warning: base register specified but zero -.*:7: Warning: base register specified but zero -.*:15: Warning: index register specified but zero -.*:16: Warning: index register specified but zero -.*:19: Warning: base register specified but zero -.*:20: Warning: base register specified but zero -.*:22: Warning: index register specified but zero -.*:22: Warning: base register specified but zero -.*:23: Warning: index register specified but zero -.*:23: Warning: base register specified but zero -.*:25: Warning: index register specified but zero -.*:25: Warning: base register specified but zero -.*:26: Warning: index register specified but zero -.*:26: Warning: base register specified but zero -.*:28: Warning: index register specified but zero -.*:28: Warning: base register specified but zero -.*:29: Warning: base register specified but zero -.*:30: Warning: base register specified but zero -.*:40: Warning: base register specified but zero -.*:41: Warning: base register specified but zero -.*:44: Warning: base register specified but zero -.*:45: Warning: base register specified but zero -.*:48: Warning: base register specified but zero -.*:48: Warning: base register specified but zero -.*:49: Warning: base register specified but zero -.*:49: Warning: base register specified but zero -.*:51: Warning: base register specified but zero -.*:52: Warning: base register specified but zero -.*:52: Warning: base register specified but zero -.*:53: Warning: base register specified but zero -.*:53: Warning: base register specified but zero -.*:55: Warning: base register specified but zero -.*:60: Warning: base register specified but zero -.*:61: Warning: base register specified but zero -.*:68: Warning: base register specified but zero -.*:69: Warning: base register specified but zero -.*:72: Warning: base register specified but zero -.*:73: Warning: base register specified but zero -.*:76: Warning: base register specified but zero -.*:76: Warning: base register specified but zero -.*:77: Warning: base register specified but zero -.*:77: Warning: base register specified but zero -.*:79: Warning: base register specified but zero -.*:80: Warning: base register specified but zero -.*:80: Warning: base register specified but zero -.*:81: Warning: base register specified but zero -.*:81: Warning: base register specified but zero -.*:83: Warning: base register specified but zero -.*:88: Warning: base register specified but zero -.*:89: Warning: base register specified but zero -.*:96: Warning: index register specified but zero -.*:97: Warning: index register specified but zero -.*:100: Warning: base register specified but zero -.*:101: Warning: base register specified but zero -.*:103: Warning: index register specified but zero -.*:103: Warning: base register specified but zero -.*:104: Warning: index register specified but zero -.*:104: Warning: base register specified but zero -.*:106: Warning: index register specified but zero -.*:106: Warning: base register specified but zero -.*:107: Warning: index register specified but zero -.*:107: Warning: base register specified but zero -.*:109: Warning: base register specified but zero -.*:110: Warning: base register specified but zero +.*:6: Warning: operand 1: base register specified but zero +.*:7: Warning: operand 1: base register specified but zero +.*:15: Warning: operand 2: index register specified but zero +.*:16: Warning: operand 2: index register specified but zero +.*:19: Warning: operand 2: base register specified but zero +.*:20: Warning: operand 2: base register specified but zero +.*:22: Warning: operand 2: index register specified but zero +.*:22: Warning: operand 2: base register specified but zero +.*:23: Warning: operand 2: index register specified but zero +.*:23: Warning: operand 2: base register specified but zero +.*:25: Warning: operand 2: index register specified but zero +.*:25: Warning: operand 2: base register specified but zero +.*:26: Warning: operand 2: index register specified but zero +.*:26: Warning: operand 2: base register specified but zero +.*:28: Warning: operand 2: index register specified but zero +.*:28: Warning: operand 2: base register specified but zero +.*:29: Warning: operand 2: base register specified but zero +.*:30: Warning: operand 2: base register specified but zero +.*:40: Warning: operand 1: base register specified but zero +.*:41: Warning: operand 1: base register specified but zero +.*:44: Warning: operand 2: base register specified but zero +.*:45: Warning: operand 2: base register specified but zero +.*:48: Warning: operand 1: base register specified but zero +.*:48: Warning: operand 2: base register specified but zero +.*:49: Warning: operand 1: base register specified but zero +.*:49: Warning: operand 2: base register specified but zero +.*:51: Warning: operand 1: base register specified but zero +.*:52: Warning: operand 1: base register specified but zero +.*:52: Warning: operand 2: base register specified but zero +.*:53: Warning: operand 1: base register specified but zero +.*:53: Warning: operand 2: base register specified but zero +.*:55: Warning: operand 1: base register specified but zero +.*:60: Warning: operand 2: base register specified but zero +.*:61: Warning: operand 2: base register specified but zero +.*:68: Warning: operand 1: base register specified but zero +.*:69: Warning: operand 1: base register specified but zero +.*:72: Warning: operand 2: base register specified but zero +.*:73: Warning: operand 2: base register specified but zero +.*:76: Warning: operand 1: base register specified but zero +.*:76: Warning: operand 2: base register specified but zero +.*:77: Warning: operand 1: base register specified but zero +.*:77: Warning: operand 2: base register specified but zero +.*:79: Warning: operand 1: base register specified but zero +.*:80: Warning: operand 1: base register specified but zero +.*:80: Warning: operand 2: base register specified but zero +.*:81: Warning: operand 1: base register specified but zero +.*:81: Warning: operand 2: base register specified but zero +.*:83: Warning: operand 1: base register specified but zero +.*:88: Warning: operand 2: base register specified but zero +.*:89: Warning: operand 2: base register specified but zero +.*:96: Warning: operand 2: index register specified but zero +.*:97: Warning: operand 2: index register specified but zero +.*:100: Warning: operand 2: base register specified but zero +.*:101: Warning: operand 2: base register specified but zero +.*:103: Warning: operand 2: index register specified but zero +.*:103: Warning: operand 2: base register specified but zero +.*:104: Warning: operand 2: index register specified but zero +.*:104: Warning: operand 2: base register specified but zero +.*:106: Warning: operand 2: index register specified but zero +.*:106: Warning: operand 2: base register specified but zero +.*:107: Warning: operand 2: index register specified but zero +.*:107: Warning: operand 2: base register specified but zero +.*:109: Warning: operand 2: base register specified but zero +.*:110: Warning: operand 2: base register specified but zero diff --git a/gas/testsuite/gas/s390/zarch-z9-109-err.l b/gas/testsuite/gas/s390/zarch-z9-109-err.l index 84d294d..b5460b6 100644 --- a/gas/testsuite/gas/s390/zarch-z9-109-err.l +++ b/gas/testsuite/gas/s390/zarch-z9-109-err.l @@ -1,2 +1,2 @@ .*: Assembler messages: -.*:3: Error: odd numbered general purpose register specified as register pair +.*:3: Error: operand 1: odd numbered general purpose register specified as register pair diff --git a/gas/testsuite/gas/s390/zarch-z900-err.l b/gas/testsuite/gas/s390/zarch-z900-err.l index cf8e9c2..2886802 100644 --- a/gas/testsuite/gas/s390/zarch-z900-err.l +++ b/gas/testsuite/gas/s390/zarch-z900-err.l @@ -1,3 +1,3 @@ .*: Assembler messages: -.*:3: Error: operand out of range \(-4294967298 not between -4294967296 and 4294967294\) -.*:4: Error: operand out of range \(4294967296 not between -4294967296 and 4294967294\) +.*:3: Error: operand out of range \(-4294967298 is not between -4294967296 and 4294967294\) +.*:4: Error: operand out of range \(4294967296 is not between -4294967296 and 4294967294\) -- cgit v1.1