* alpha-tdep.c (alpha_register_reggroup_p): Zero is only

a member of all_reggroup.
This commit is contained in:
Richard Henderson 2003-06-02 22:54:01 +00:00
parent ed7d5d1a43
commit df4a182bcb
2 changed files with 17 additions and 4 deletions

View File

@ -1,3 +1,8 @@
2003-06-02 Richard Henderson <rth@redhat.com>
* alpha-tdep.c (alpha_register_reggroup_p): Zero is only
a member of all_reggroup.
2003-06-02 Richard Henderson <rth@redhat.com>
* alpha-tdep.c (alpha_register_type): Change from _virtual_type.

View File

@ -107,10 +107,18 @@ alpha_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
if (REGISTER_NAME (regnum) == NULL || *REGISTER_NAME (regnum) == '\0')
return 0;
/* Since we implement no pseudo registers, save/restore is equal to all. */
if (group == all_reggroup
|| group == save_reggroup
|| group == restore_reggroup)
if (group == all_reggroup)
return 1;
/* Zero should not be saved or restored. Technically it is a general
register (just as $f31 would be a float if we represented it), but
there's no point displaying it during "info regs", so leave it out
of all groups except for "all". */
if (regnum == ALPHA_ZERO_REGNUM)
return 0;
/* All other registers are saved and restored. */
if (group == save_reggroup || group == restore_reggroup)
return 1;
/* All other groups are non-overlapping. */