* config/tc-hppa.c (pa_ip): Search entire mnemonic before considering

promoted match.
This commit is contained in:
Dave Anglin 2005-07-17 00:33:45 +00:00
parent 3522fe58ee
commit 8126167be0
2 changed files with 25 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2005-07-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
* config/tc-hppa.c (pa_ip): Search entire mnemonic before considering
promoted match.
2005-07-16 Alan Modra <amodra@bigpond.net.au>
* Makefile.am: Run "make dep-am".

View File

@ -1577,10 +1577,12 @@ pa_ip (str)
char *s, c, *argstart, *name, *save_s;
const char *args;
int match = FALSE;
int need_promotion = FALSE;
int comma = 0;
int cmpltr, nullif, flag, cond, num;
unsigned long opcode;
struct pa_opcode *insn;
struct pa_opcode *promoted_insn = NULL;
#ifdef OBJ_SOM
/* We must have a valid space and subspace. */
@ -3956,8 +3958,17 @@ pa_ip (str)
if (match == TRUE
&& bfd_get_mach (stdoutput) < insn->arch)
{
if (!bfd_set_arch_mach (stdoutput, bfd_arch_hppa, insn->arch))
as_warn (_("could not update architecture and machine"));
if (need_promotion)
{
if (!bfd_set_arch_mach (stdoutput, bfd_arch_hppa, insn->arch))
as_warn (_("could not update architecture and machine"));
}
else
{
match = FALSE;
if (!promoted_insn)
promoted_insn = insn;
}
}
failed:
@ -3973,6 +3984,13 @@ pa_ip (str)
}
else
{
if (promoted_insn)
{
insn = promoted_insn;
need_promotion = TRUE;
s = argstart;
continue;
}
as_bad (_("Invalid operands %s"), error_message);
return;
}