mirror of
https://github.com/bminor/binutils-gdb.git
synced 2025-12-26 17:18:55 +00:00
* arm-dis.c (print_insn_arm): Constify "insn". Formatting.
(print_insn_thumb): Likewise. * h8500-dis.c (print_insn_h8500): Constify "opcode". * mcore-dis.c (print_insn_mcore): Constify "op". Formatting. * ns32k-dis.c (print_insn_arg <case 'F'>): Use a union to avoid type-punned pointer warnings. <case 'L'>: Likewise. Fix error message too. * pdp11-dis.c (print_reg): Warning fix. * sh-dis.c (print_movxy): Constify "op" param. (print_insn_ddt): Constify sh_opcode_info vars. (print_insn_ppi): Likewise. (print_insn_sh): Likewise. * tic30-dis.c (cnvt_tmsfloat_ieee): Use a union to avoid type-punned pointer warnings. * w65-dis.c (print_insn_w65): Constify "op".
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/* Print National Semiconductor 32000 instructions.
|
||||
Copyright 1986, 1988, 1991, 1992, 1994, 1998, 2001
|
||||
Copyright 1986, 1988, 1991, 1992, 1994, 1998, 2001, 2002
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of opcodes library.
|
||||
@@ -556,10 +556,13 @@ print_insn_arg (d, ioffset, aoffsetp, buffer, addr, result, index_offset)
|
||||
char *result;
|
||||
int index_offset;
|
||||
{
|
||||
int addr_mode;
|
||||
float Fvalue;
|
||||
double Lvalue;
|
||||
union {
|
||||
float f;
|
||||
double d;
|
||||
int i[2];
|
||||
} value;
|
||||
int Ivalue;
|
||||
int addr_mode;
|
||||
int disp1, disp2;
|
||||
int index;
|
||||
int size;
|
||||
@@ -647,23 +650,23 @@ print_insn_arg (d, ioffset, aoffsetp, buffer, addr, result, index_offset)
|
||||
sprintf (result, "$%d", Ivalue);
|
||||
break;
|
||||
case 'F':
|
||||
bit_copy (buffer, *aoffsetp, 32, (char *) &Fvalue);
|
||||
flip_bytes ((char *) & Fvalue, 4);
|
||||
bit_copy (buffer, *aoffsetp, 32, (char *) &value.f);
|
||||
flip_bytes ((char *) &value.f, 4);
|
||||
*aoffsetp += 32;
|
||||
if (INVALID_FLOAT (&Fvalue, 4))
|
||||
sprintf (result, "<<invalid float 0x%.8x>>", *(int *) &Fvalue);
|
||||
if (INVALID_FLOAT (&value.f, 4))
|
||||
sprintf (result, "<<invalid float 0x%.8x>>", value.i[0]);
|
||||
else /* assume host has ieee float */
|
||||
sprintf (result, "$%g", Fvalue);
|
||||
sprintf (result, "$%g", value.f);
|
||||
break;
|
||||
case 'L':
|
||||
bit_copy (buffer, *aoffsetp, 64, (char *) &Lvalue);
|
||||
flip_bytes ((char *) & Lvalue, 8);
|
||||
bit_copy (buffer, *aoffsetp, 64, (char *) &value.d);
|
||||
flip_bytes ((char *) &value.d, 8);
|
||||
*aoffsetp += 64;
|
||||
if (INVALID_FLOAT (&Lvalue, 8))
|
||||
sprintf (result, "<<invalid long 0x%.8x%.8x>>",
|
||||
*(((int *) &Lvalue) + 1), *(int *) &Lvalue);
|
||||
if (INVALID_FLOAT (&value.d, 8))
|
||||
sprintf (result, "<<invalid double 0x%.8x%.8x>>",
|
||||
value.i[1], value.i[0]);
|
||||
else /* assume host has ieee float */
|
||||
sprintf (result, "$%g", Lvalue);
|
||||
sprintf (result, "$%g", value.d);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user