This is the mail archive of the
binutils-cvs@sourceware.org
mailing list for the binutils project.
[binutils-gdb] xtensa error message
- From: Alan Modra <amodra at sourceware dot org>
- To: bfd-cvs at sourceware dot org
- Date: 21 Nov 2017 00:50:48 -0000
- Subject: [binutils-gdb] xtensa error message
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=bf3d139947aa7f846b463db4a7c4b6059a183e11
commit bf3d139947aa7f846b463db4a7c4b6059a183e11
Author: Alan Modra <amodra@gmail.com>
Date: Tue Nov 21 10:25:18 2017 +1030
xtensa error message
* config/tc-xtensa.c (finish_vinsn): Avoid multiple ngettext calls
in error message.
Diff:
---
gas/ChangeLog | 5 +++++
gas/config/tc-xtensa.c | 22 ++++++----------------
2 files changed, 11 insertions(+), 16 deletions(-)
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 08553c2..24be569 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+2017-11-21 Alan Modra <amodra@gmail.com>
+
+ * config/tc-xtensa.c (finish_vinsn): Avoid multiple ngettext calls
+ in error message.
+
2017-11-20 Alan Modra <amodra@gmail.com>
* testsuite/gas/i386/x86-64-reg-bad.l: Accept trailing padding.
diff --git a/gas/config/tc-xtensa.c b/gas/config/tc-xtensa.c
index 3fe85d2..a48ce1e 100644
--- a/gas/config/tc-xtensa.c
+++ b/gas/config/tc-xtensa.c
@@ -6323,6 +6323,7 @@ finish_vinsn (vliw_insn *vinsn)
{
IStack slotstack;
int i;
+ int slots;
if (find_vinsn_conflicts (vinsn))
{
@@ -6334,7 +6335,8 @@ finish_vinsn (vliw_insn *vinsn)
if (vinsn->format == XTENSA_UNDEFINED)
vinsn->format = xg_find_narrowest_format (vinsn);
- if (xtensa_format_num_slots (xtensa_default_isa, vinsn->format) > 1
+ slots = xtensa_format_num_slots (xtensa_default_isa, vinsn->format);
+ if (slots > 1
&& produce_flix == FLIX_NONE)
{
as_bad (_("The option \"--no-allow-flix\" prohibits multi-slot flix."));
@@ -6355,23 +6357,11 @@ finish_vinsn (vliw_insn *vinsn)
return;
}
- if (vinsn->num_slots
- != xtensa_format_num_slots (xtensa_default_isa, vinsn->format))
+ if (vinsn->num_slots != slots)
{
- char *msg;
- int slots = xtensa_format_num_slots (xtensa_default_isa, vinsn->format);
-
- msg = concat (ngettext ("format '%s' allows %d slot, ",
- "format '%s' allows %d slots, ",
- slots),
- ngettext ("but there is %d opcode",
- "but there are %d opcodes",
- vinsn->num_slots),
- (const char *) 0);
-
- as_bad (msg, xtensa_format_name (xtensa_default_isa, vinsn->format),
+ as_bad (_("mismatch for format '%s': #slots = %d, #opcodes = %d"),
+ xtensa_format_name (xtensa_default_isa, vinsn->format),
slots, vinsn->num_slots);
- free (msg);
xg_clear_vinsn (vinsn);
return;
}