2002-09-25 Andrew Cagney <cagney@redhat.com>
* frame.c: Include "gdb_string.h" and "builtin-regs.h". (frame_map_regnum_to_name): New function. (frame_map_name_to_regnum): New function. * frame.h (frame_map_name_to_regnum): Declare. (frame_map_regnum_to_name): Declare. * builtin-regs.c (builtin_reg_map_regnum_to_name): New function. * builtin-regs.h (builtin_reg_map_regnum_to_name): Declare. * parse.c: Do not include "builtin-regs.h". (target_map_name_to_register): Delete function. (write_dollar_variable): Use frame_map_name_to_regnum. * parser-defs.h (target_map_name_to_register): Delete declaration. * expprint.c: Include "frame.h". (print_subexp): Use frame_map_regnum_to_name. * eval.c (evaluate_subexp_standard): Use frame_map_regnum_to_name. * infcmd.c (registers_info): Use frame_map_name_to_regnum. 2002-09-25 Andrew Cagney <cagney@redhat.com> * gdb.base/pc-fp.exp, gdb.base/pc-fp.c: New test.
This commit is contained in:
parent
58daee9877
commit
e36180d795
13 changed files with 202 additions and 50 deletions
39
gdb/parse.c
39
gdb/parse.c
|
@ -47,7 +47,6 @@
|
|||
#include "inferior.h" /* for NUM_PSEUDO_REGS. NOTE: replace
|
||||
with "gdbarch.h" when appropriate. */
|
||||
#include "doublest.h"
|
||||
#include "builtin-regs.h"
|
||||
#include "gdb_assert.h"
|
||||
|
||||
|
||||
|
@ -106,42 +105,6 @@ struct funcall
|
|||
|
||||
static struct funcall *funcall_chain;
|
||||
|
||||
/* The generic method for targets to specify how their registers are
|
||||
named. The mapping can be derived from two sources: REGISTER_NAME;
|
||||
or builtin regs. */
|
||||
|
||||
int
|
||||
target_map_name_to_register (char *str, int len)
|
||||
{
|
||||
int i;
|
||||
|
||||
/* Search register name space. */
|
||||
for (i = 0; i < NUM_REGS + NUM_PSEUDO_REGS; i++)
|
||||
if (REGISTER_NAME (i) && len == strlen (REGISTER_NAME (i))
|
||||
&& STREQN (str, REGISTER_NAME (i), len))
|
||||
{
|
||||
return i;
|
||||
}
|
||||
|
||||
/* Try builtin registers. */
|
||||
i = builtin_reg_map_name_to_regnum (str, len);
|
||||
if (i >= 0)
|
||||
{
|
||||
gdb_assert (i >= NUM_REGS + NUM_PSEUDO_REGS);
|
||||
return i;
|
||||
}
|
||||
|
||||
/* Try builtin registers. */
|
||||
i = builtin_reg_map_name_to_regnum (str, len);
|
||||
if (i >= 0)
|
||||
{
|
||||
gdb_assert (i >= NUM_REGS + NUM_PSEUDO_REGS);
|
||||
return i;
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Begin counting arguments for a function call,
|
||||
saving the data about any containing call. */
|
||||
|
||||
|
@ -491,7 +454,7 @@ write_dollar_variable (struct stoken str)
|
|||
|
||||
/* Handle tokens that refer to machine registers:
|
||||
$ followed by a register name. */
|
||||
i = target_map_name_to_register (str.ptr + 1, str.length - 1);
|
||||
i = frame_map_name_to_regnum (str.ptr + 1, str.length - 1);
|
||||
if (i >= 0)
|
||||
goto handle_register;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue