2003-06-23 Andrew Cagney <cagney@redhat.com>

* rs6000-tdep.c (rs6000_register_virtual_type): Add explict cases
	for 0 "int0" and 4 "int32" sized registers.
	* gdbtypes.c (builtin_type_int0): Define.
	(build_gdbtypes): Initialize builtin_type_int0.
	* gdbtypes.h (builtin_type_int0): Declare.
This commit is contained in:
Andrew Cagney 2003-06-23 21:05:40 +00:00
parent 12f0bd746a
commit 449a5da47c
4 changed files with 23 additions and 3 deletions

View File

@ -1,3 +1,11 @@
2003-06-23 Andrew Cagney <cagney@redhat.com>
* rs6000-tdep.c (rs6000_register_virtual_type): Add explict cases
for 0 "int0" and 4 "int32" sized registers.
* gdbtypes.c (builtin_type_int0): Define.
(build_gdbtypes): Initialize builtin_type_int0.
* gdbtypes.h (builtin_type_int0): Declare.
2003-06-23 Stephane Carrez <stcarrez@nerim.fr>
* m68hc11-tdep.c (m68hc11_gdbarch_init): Clear gdb_arch_char_signed

View File

@ -60,6 +60,7 @@ struct type *builtin_type_long_double;
struct type *builtin_type_complex;
struct type *builtin_type_double_complex;
struct type *builtin_type_string;
struct type *builtin_type_int0;
struct type *builtin_type_int8;
struct type *builtin_type_uint8;
struct type *builtin_type_int16;
@ -3410,6 +3411,10 @@ build_gdbtypes (void)
init_type (TYPE_CODE_STRING, TARGET_CHAR_BIT / TARGET_CHAR_BIT,
0,
"string", (struct objfile *) NULL);
builtin_type_int0 =
init_type (TYPE_CODE_INT, 0 / 8,
0,
"int0_t", (struct objfile *) NULL);
builtin_type_int8 =
init_type (TYPE_CODE_INT, 8 / 8,
0,

View File

@ -956,7 +956,10 @@ extern struct type *builtin_type_CORE_ADDR;
(cf MIPS). */
extern struct type *builtin_type_bfd_vma;
/* Explicit sizes - see C9X <intypes.h> for naming scheme */
/* Explicit sizes - see C9X <intypes.h> for naming scheme. The "int0"
is for when an architecture needs to describe a register that has
no size. */
extern struct type *builtin_type_int0;
extern struct type *builtin_type_int8;
extern struct type *builtin_type_uint8;
extern struct type *builtin_type_int16;

View File

@ -1894,6 +1894,10 @@ rs6000_register_virtual_type (int n)
int size = regsize (reg, tdep->wordsize);
switch (size)
{
case 0:
return builtin_type_int0;
case 4:
return builtin_type_int32;
case 8:
if (tdep->ppc_ev0_regnum <= n && n <= tdep->ppc_ev31_regnum)
return builtin_type_vec64;
@ -1904,8 +1908,8 @@ rs6000_register_virtual_type (int n)
return builtin_type_vec128;
break;
default:
return builtin_type_int32;
break;
internal_error (__FILE__, __LINE__, "Register %d size %d unknown",
n, size);
}
}
}