From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) by sourceware.org (Postfix) with ESMTPS id CAF67384D169 for ; Thu, 15 Feb 2024 15:58:37 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org CAF67384D169 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=linux.ibm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linux.ibm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org CAF67384D169 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=148.163.158.5 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1708012722; cv=none; b=xd6D5pN7kSIUHE2pRfB5McseBB+QVoPgYE/j4JSy/SE4iBwV6lyHO+q9ZhKR9VBUpgOA9/wMUP6pfhMEina9cDodzhnVHkv7e1cf9UcvBT1IcUUHVmFFZ6E+WMvBl9pAL9gdpVMfWBzGBfnVc7FxeV/dg1D63sjrPIjxQCAJmSM= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1708012722; c=relaxed/simple; bh=rNcPrD4iqt7qbqn5Yns4mzOCAtKt5Ol76xjN+yo406w=; h=DKIM-Signature:From:To:Subject:Date:Message-Id:MIME-Version; b=Cyc6aEdZBEoehq9xEF9wwhMQwUZE2KA8TTXsgb2deLVV4C6sUIBh7+34xlN8/CTYEUqYxIfZ6W3Mac2Tqh6NK8BWSLaEahrm8pDzyQTTXxVw7pr7MaxmZuyGzwfX0dDP9JRu3MJsF1paMt2dwkItOPNGcVjIRWEdSJ9M2/CzAf8= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from pps.filterd (m0353722.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 41FFvu19019874 for ; Thu, 15 Feb 2024 15:58:37 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding; s=pp1; bh=c/9jBmeSKGWtlHX568waD0bqAkSVgw08H8zhNYh5Cqg=; b=oI1lFiRYcoqEpYLZbDnualj+yyQ5NnK2zpRPMVPtdho2P7Vt3G/9aelj2Cks+ePQ3ySm ZOa7CjQc0+9xqvSv38kEH1LZtzQgjWBOgSWxSvtg6mXp6gxXIt/Jgc3Vb8a9dakfaa/b NLbMmlSA8A+gWyEi01NFAqer2CC8EC31bhKoc48v8R2ngAaztLitkd9wWipK8UpJDVci ZbQtqwnEapjsTXUiFSRLxW/iq+uZZbbQXKZW1AZfcwNKTB4CwR2gsCgCNQVf8L18N+Qs +Oj5+0C8bD7c1SIwyM4UmSPvf+6jVHy54kO1/iOH8Xz1AY6KG/q+DrYGg9vdLN9e+lGC OQ== Received: from ppma22.wdc07v.mail.ibm.com (5c.69.3da9.ip4.static.sl-reverse.com [169.61.105.92]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3w9nqeg0kh-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Thu, 15 Feb 2024 15:58:36 +0000 Received: from pps.filterd (ppma22.wdc07v.mail.ibm.com [127.0.0.1]) by ppma22.wdc07v.mail.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 41FDTYLh004339 for ; Thu, 15 Feb 2024 15:58:36 GMT Received: from smtprelay03.fra02v.mail.ibm.com ([9.218.2.224]) by ppma22.wdc07v.mail.ibm.com (PPS) with ESMTPS id 3w6kv0nx3h-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Thu, 15 Feb 2024 15:58:36 +0000 Received: from smtpav04.fra02v.mail.ibm.com (smtpav04.fra02v.mail.ibm.com [10.20.54.103]) by smtprelay03.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 41FFwUr649414494 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 15 Feb 2024 15:58:32 GMT Received: from smtpav04.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 7D89920040; Thu, 15 Feb 2024 15:58:30 +0000 (GMT) Received: from smtpav04.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 4E9AB20071; Thu, 15 Feb 2024 15:58:30 +0000 (GMT) Received: from tuxmaker.boeblingen.de.ibm.com (unknown [9.152.85.9]) by smtpav04.fra02v.mail.ibm.com (Postfix) with ESMTP; Thu, 15 Feb 2024 15:58:30 +0000 (GMT) From: Jens Remus To: binutils@sourceware.org Cc: Jens Remus , Andreas Krebbel Subject: [PATCH 13/14] s390: Provide operand number in assembler warning and error messages Date: Thu, 15 Feb 2024 16:58:20 +0100 Message-Id: <20240215155821.4065623-14-jremus@linux.ibm.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20240215155821.4065623-1-jremus@linux.ibm.com> References: <20240215155821.4065623-1-jremus@linux.ibm.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-TM-AS-GCONF: 00 X-Proofpoint-GUID: K25K22EZpiihZDWjzhHlD0jiPc1SlZJD X-Proofpoint-ORIG-GUID: K25K22EZpiihZDWjzhHlD0jiPc1SlZJD X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-02-15_14,2024-02-14_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 mlxlogscore=976 impostorscore=0 adultscore=0 spamscore=0 bulkscore=0 priorityscore=1501 mlxscore=0 clxscore=1015 malwarescore=0 phishscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311290000 definitions=main-2402150129 X-Spam-Status: No, score=-12.3 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,GIT_PATCH_0,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: 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/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(-) diff --git a/gas/config/tc-s390.c b/gas/config/tc-s390.c index 85a86d590ad1..786c372a9c1a 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 e7d03ecdfe11..6332d9943496 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 f222fe00093e..b2ee382b0f9d 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 decf896aecc7..b820e4c77a13 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 84d294de960a..b5460b65046d 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 cf8e9c2cefcc..2886802963ef 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\) -- 2.40.1