X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Freggroups.h;h=593f5469f6e94290e7a1e9719a628c0369b2bb1b;hb=8fb75323313b095569200a400c07d2d7a887aa95;hp=d2e2b8a439ef35546bca0ca6e2919d0d5fce8201;hpb=0fb0cc7590113e9b459dfcc48dc71c9d419d9580;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/reggroups.h b/gdb/reggroups.h index d2e2b8a439..593f5469f6 100644 --- a/gdb/reggroups.h +++ b/gdb/reggroups.h @@ -1,6 +1,6 @@ /* Register groupings for GDB, the GNU debugger. - Copyright (C) 2002, 2007, 2008, 2009 Free Software Foundation, Inc. + Copyright (C) 2002-2019 Free Software Foundation, Inc. Contributed by Red Hat. @@ -41,6 +41,10 @@ extern struct reggroup *const restore_reggroup; /* Create a new local register group. */ extern struct reggroup *reggroup_new (const char *name, enum reggroup_type type); +/* Create a new register group allocated onto the gdbarch obstack. */ +extern struct reggroup *reggroup_gdbarch_new (struct gdbarch *gdbarch, + const char *name, + enum reggroup_type type); /* Add a register group (with attribute values) to the pre-defined list. */ extern void reggroup_add (struct gdbarch *gdbarch, struct reggroup *group); @@ -49,11 +53,16 @@ extern void reggroup_add (struct gdbarch *gdbarch, struct reggroup *group); extern const char *reggroup_name (struct reggroup *reggroup); extern enum reggroup_type reggroup_type (struct reggroup *reggroup); -/* Interator for the architecture's register groups. Pass in NULL, - returns the first group. Pass in a group, returns the next group, - or NULL when the last group is reached. */ +/* Iterators for the architecture's register groups. Pass in NULL, returns + the first (for next), or last (for prev) group. Pass in a group, + returns the next or previous group, or NULL when either the end or the + beginning of the group list is reached. */ extern struct reggroup *reggroup_next (struct gdbarch *gdbarch, struct reggroup *last); +extern struct reggroup *reggroup_prev (struct gdbarch *gdbarch, + struct reggroup *curr); +/* Find a reggroup by name. */ +extern reggroup *reggroup_find (struct gdbarch *gdbarch, const char *name); /* Is REGNUM a member of REGGROUP? */ extern int default_register_reggroup_p (struct gdbarch *gdbarch, int regnum,