* m68k-tdep.c (m68k_register_virtual_type): Return int for SR, FPC

and FPS registers.
This commit is contained in:
Andreas Schwab 2002-11-22 00:02:03 +00:00
parent a3ced1cbd6
commit d85fe7f7fa
2 changed files with 17 additions and 7 deletions

View file

@ -1,3 +1,8 @@
2002-11-22 Andreas Schwab <schwab@suse.de>
* m68k-tdep.c (m68k_register_virtual_type): Return int for SR, FPC
and FPS registers.
2002-11-21 Daniel Jacobowitz <drow@mvista.com>
* maint.c (_initialize_maint_cmds): Fix typo. From

View file

@ -148,20 +148,25 @@ m68k_register_virtual_size (int regnum)
return (((unsigned) (regnum) - FP0_REGNUM) < 8 ? 12 : 4);
}
/* Return the GDB type object for the "standard" data type of data
in register N. This should be int for D0-D7, long double for FP0-FP7,
and void pointer for all others (A0-A7, PC, SR, FPCONTROL etc).
Note, for registers which contain addresses return pointer to void,
not pointer to char, because we don't want to attempt to print
the string after printing the address. */
/* Return the GDB type object for the "standard" data type of data in
register N. This should be int for D0-D7, SR, FPCONTROL and
FPSTATUS, long double for FP0-FP7, and void pointer for all others
(A0-A7, PC, FPIADDR). Note, for registers which contain
addresses return pointer to void, not pointer to char, because we
don't want to attempt to print the string after printing the
address. */
static struct type *
m68k_register_virtual_type (int regnum)
{
if ((unsigned) regnum >= E_FPC_REGNUM)
if (regnum == E_FPI_REGNUM)
return lookup_pointer_type (builtin_type_void);
else if ((unsigned) regnum >= E_FPC_REGNUM)
return builtin_type_int;
else if ((unsigned) regnum >= FP0_REGNUM)
return builtin_type_long_double;
else if (regnum == PS_REGNUM)
return builtin_type_int;
else if ((unsigned) regnum >= A0_REGNUM)
return lookup_pointer_type (builtin_type_void);
else