2001-12-19 Jim Blandy <jimb@redhat.com>
+ * s390-tdep.c (s390_register_name): S390_LAST_REGNUM is, in fact,
+ the last register number, not one greater than the last register
+ number.
+
+ * s390-tdep.c (s390_register_virtual_type): Replace clever but
+ incorrect range comparison with correct, legible equivalent.
+
* s390-tdep.c (s390_register_raw_size): Replace unnecessarily
obscure range comparison with legible equivalent.
"f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15"
};
- if (reg_nr >= S390_LAST_REGNUM)
+ if (reg_nr <= S390_LAST_REGNUM)
+ return register_names[reg_nr];
+ else
return NULL;
- return register_names[reg_nr];
}
struct type *
s390_register_virtual_type (int regno)
{
- return ((unsigned) regno - S390_FPC_REGNUM) <
- S390_NUM_FPRS ? builtin_type_double : builtin_type_int;
+ if (S390_FP0_REGNUM <= regno && regno < S390_FP0_REGNUM + S390_NUM_FPRS)
+ return builtin_type_double;
+ else
+ return builtin_type_int;
}