+2002-12-13 Alan Modra <amodra@bigpond.net.au>
+
+ * pj.h (pj_opc_info_t): Add union.
+
2002-12-04 David Mosberger <davidm@hpl.hp.com>
* ia64.h: Fix copyright message.
#define UNS(x) (!!((x) & (1<<3)))
-typedef struct
+typedef struct pj_opc_info_t
{
short opcode;
short opcode_next;
char len;
unsigned char arg[2];
- const char *name;
+ union {
+ const char *name;
+ void (*func) PARAMS ((struct pj_opc_info_t *, char *));
+ } u;
} pj_opc_info_t;
2002-12-13 Alan Modra <amodra@bigpond.net.au>
+ * pj-dis.c (print_insn_pj): Adjust for pj_opc_info_t change.
* z8kgen.c: Include "libiberty.h".
(opt, args, toks): Fix initializer warnings.
(chewname): Make "name" a char **. Return mnemonic trimmed of
unsigned char byte_2;
if ((status = info->read_memory_func (addr + 1, &byte_2, 1, info)))
goto fail;
- fprintf_fn (stream, "%s\t", pj_opc_info[opcode + byte_2].name);
+ fprintf_fn (stream, "%s\t", pj_opc_info[opcode + byte_2].u.name);
return 2;
}
else
const pj_opc_info_t *op = &pj_opc_info[opcode];
int a;
addr++;
- fprintf_fn (stream, "%s", op->name);
+ fprintf_fn (stream, "%s", op->u.name);
/* The tableswitch instruction is followed by the default
address, low value, high value and the destinations. */
- if (strcmp (op->name, "tableswitch") == 0)
+ if (strcmp (op->u.name, "tableswitch") == 0)
{
int lowval;
int highval;
address, element count and pairs of values and
addresses. */
- if (strcmp (op->name, "lookupswitch") == 0)
+ if (strcmp (op->u.name, "lookupswitch") == 0)
{
int count;
int val;