[binutils-gdb] gdb: change gdbarch_register_reggroup_p to return bool
Simon Marchi
simark@sourceware.org
Mon Mar 9 17:29:06 GMT 2026
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=4a857b35933e1fe514877ab6b0a1fcf1ffa32546
commit 4a857b35933e1fe514877ab6b0a1fcf1ffa32546
Author: Simon Marchi <simon.marchi@efficios.com>
Date: Fri Feb 27 15:05:12 2026 -0500
gdb: change gdbarch_register_reggroup_p to return bool
Change-Id: I1052345c4e537c5dfba37e175f21c8d0c5db2fc3
Approved-By: Tom Tromey <tom@tromey.com>
Diff:
---
gdb/aarch64-tdep.c | 4 ++--
gdb/alpha-tdep.c | 10 +++++-----
gdb/amd64-linux-tdep.c | 2 +-
gdb/amdgpu-tdep.c | 2 +-
gdb/arm-tdep.c | 2 +-
gdb/csky-tdep.c | 22 +++++++++++-----------
gdb/gdbarch-gen.c | 2 +-
gdb/gdbarch-gen.h | 4 ++--
gdb/gdbarch_components.py | 2 +-
gdb/i386-linux-tdep.c | 4 ++--
gdb/i386-tdep.c | 10 +++++-----
gdb/i386-tdep.h | 4 ++--
gdb/ia64-tdep.c | 6 +++---
gdb/lm32-tdep.c | 2 +-
gdb/loongarch-tdep.c | 14 +++++++-------
gdb/m32c-tdep.c | 16 ++++++++--------
gdb/m68hc11-tdep.c | 2 +-
gdb/mep-tdep.c | 6 +++---
gdb/mips-tdep.c | 19 ++++++++-----------
gdb/msp430-tdep.c | 4 ++--
gdb/nds32-tdep.c | 4 ++--
gdb/reggroups.c | 22 +++++++++-------------
gdb/reggroups.h | 4 ++--
gdb/riscv-tdep.c | 30 +++++++++++++++---------------
gdb/rl78-tdep.c | 8 ++++----
gdb/rs6000-tdep.c | 4 ++--
gdb/s390-tdep.c | 6 +++---
gdb/sh-tdep.c | 14 +++++++-------
gdb/target-descriptions.c | 2 +-
gdb/xtensa-tdep.c | 10 +++++-----
30 files changed, 117 insertions(+), 124 deletions(-)
diff --git a/gdb/aarch64-tdep.c b/gdb/aarch64-tdep.c
index dad4598617f..35a70396034 100644
--- a/gdb/aarch64-tdep.c
+++ b/gdb/aarch64-tdep.c
@@ -3133,7 +3133,7 @@ aarch64_pseudo_register_type (struct gdbarch *gdbarch, int regnum)
/* Implement the "pseudo_register_reggroup_p" tdesc_arch_data method. */
-static int
+static bool
aarch64_pseudo_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
const struct reggroup *group)
{
@@ -3160,7 +3160,7 @@ aarch64_pseudo_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
return group == all_reggroup || group == vector_reggroup;
/* RA_STATE is used for unwinding only. Do not assign it to any groups. */
if (tdep->has_pauth () && regnum == tdep->ra_sign_state_regnum)
- return 0;
+ return false;
return group == all_reggroup;
}
diff --git a/gdb/alpha-tdep.c b/gdb/alpha-tdep.c
index 82dd87a70c1..cb4b9d69c71 100644
--- a/gdb/alpha-tdep.c
+++ b/gdb/alpha-tdep.c
@@ -114,28 +114,28 @@ alpha_cannot_store_register (struct gdbarch *gdbarch, int regno)
/* Is REGNUM a member of REGGROUP? */
-static int
+static bool
alpha_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
const struct reggroup *group)
{
/* Filter out any registers eliminated, but whose regnum is
reserved for backward compatibility, e.g. the vfp. */
if (*gdbarch_register_name (gdbarch, regnum) == '\0')
- return 0;
+ return false;
if (group == all_reggroup)
- return 1;
+ return true;
/* 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;
+ return false;
/* All other registers are saved and restored. */
if (group == save_reggroup || group == restore_reggroup)
- return 1;
+ return true;
/* All other groups are non-overlapping. */
diff --git a/gdb/amd64-linux-tdep.c b/gdb/amd64-linux-tdep.c
index 77c6976e071..63992817dc3 100644
--- a/gdb/amd64-linux-tdep.c
+++ b/gdb/amd64-linux-tdep.c
@@ -292,7 +292,7 @@ static int amd64_linux_sc_reg_offset[] =
-1 /* %gs */
};
-static int
+static bool
amd64_linux_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
const struct reggroup *group)
{
diff --git a/gdb/amdgpu-tdep.c b/gdb/amdgpu-tdep.c
index 2f5c613cb59..b0d6023a410 100644
--- a/gdb/amdgpu-tdep.c
+++ b/gdb/amdgpu-tdep.c
@@ -817,7 +817,7 @@ amdgpu_register_type (struct gdbarch *gdbarch, int regnum)
return tdep->register_types[regnum];
}
-static int
+static bool
amdgpu_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
const reggroup *group)
{
diff --git a/gdb/arm-tdep.c b/gdb/arm-tdep.c
index 727848fcf57..cabba3d061a 100644
--- a/gdb/arm-tdep.c
+++ b/gdb/arm-tdep.c
@@ -9955,7 +9955,7 @@ arm_elf_osabi_sniffer (bfd *abfd)
return osabi;
}
-static int
+static bool
arm_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
const struct reggroup *group)
{
diff --git a/gdb/csky-tdep.c b/gdb/csky-tdep.c
index a6f03add248..33b99bb35e6 100644
--- a/gdb/csky-tdep.c
+++ b/gdb/csky-tdep.c
@@ -2363,17 +2363,17 @@ csky_add_reggroups (struct gdbarch *gdbarch)
/* Return the groups that a CSKY register can be categorised into. */
-static int
+static bool
csky_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
const struct reggroup *reggroup)
{
int raw_p;
if (gdbarch_register_name (gdbarch, regnum)[0] == '\0')
- return 0;
+ return false;
if (reggroup == all_reggroup)
- return 1;
+ return true;
raw_p = regnum < gdbarch_num_regs (gdbarch);
if (reggroup == save_reggroup || reggroup == restore_reggroup)
@@ -2385,41 +2385,41 @@ csky_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
|| (regnum == CSKY_CR0_REGNUM)
|| (regnum == CSKY_EPSR_REGNUM))
&& (reggroup == general_reggroup))
- return 1;
+ return true;
if (((regnum == CSKY_PC_REGNUM)
|| ((regnum >= CSKY_CR0_REGNUM)
&& (regnum <= CSKY_CR0_REGNUM + 30)))
&& (reggroup == cr_reggroup))
- return 2;
+ return true;
if ((((regnum >= CSKY_VR0_REGNUM) && (regnum <= CSKY_VR0_REGNUM + 15))
|| ((regnum >= CSKY_FCR_REGNUM)
&& (regnum <= CSKY_FCR_REGNUM + 2)))
&& (reggroup == vr_reggroup))
- return 3;
+ return true;
if (((regnum >= CSKY_MMU_REGNUM) && (regnum <= CSKY_MMU_REGNUM + 8))
&& (reggroup == mmu_reggroup))
- return 4;
+ return true;
if (((regnum >= CSKY_PROFCR_REGNUM)
&& (regnum <= CSKY_PROFCR_REGNUM + 48))
&& (reggroup == prof_reggroup))
- return 5;
+ return true;
if ((((regnum >= CSKY_FR0_REGNUM) && (regnum <= CSKY_FR0_REGNUM + 15))
|| ((regnum >= CSKY_FCR_REGNUM) && (regnum <= CSKY_FCR_REGNUM + 2)))
&& (reggroup == fr_reggroup))
- return 6;
+ return true;
if (tdesc_has_registers (gdbarch_target_desc (gdbarch)))
{
if (tdesc_register_in_reggroup_p (gdbarch, regnum, reggroup) > 0)
- return 7;
+ return true;
}
- return 0;
+ return false;
}
/* Implement the dwarf2_reg_to_regnum gdbarch method. */
diff --git a/gdb/gdbarch-gen.c b/gdb/gdbarch-gen.c
index d25bcca5481..db894c73e8e 100644
--- a/gdb/gdbarch-gen.c
+++ b/gdb/gdbarch-gen.c
@@ -3584,7 +3584,7 @@ set_gdbarch_address_class_name_to_type_flags (struct gdbarch *gdbarch,
gdbarch->address_class_name_to_type_flags = address_class_name_to_type_flags;
}
-int
+bool
gdbarch_register_reggroup_p (struct gdbarch *gdbarch, int regnum, const struct reggroup *reggroup)
{
gdb_assert (gdbarch != NULL);
diff --git a/gdb/gdbarch-gen.h b/gdb/gdbarch-gen.h
index 7fd40c9dc90..87367628cba 100644
--- a/gdb/gdbarch-gen.h
+++ b/gdb/gdbarch-gen.h
@@ -927,8 +927,8 @@ extern void set_gdbarch_address_class_name_to_type_flags (struct gdbarch *gdbarc
/* Is a register in a group */
-typedef int (gdbarch_register_reggroup_p_ftype) (struct gdbarch *gdbarch, int regnum, const struct reggroup *reggroup);
-extern int gdbarch_register_reggroup_p (struct gdbarch *gdbarch, int regnum, const struct reggroup *reggroup);
+typedef bool (gdbarch_register_reggroup_p_ftype) (struct gdbarch *gdbarch, int regnum, const struct reggroup *reggroup);
+extern bool gdbarch_register_reggroup_p (struct gdbarch *gdbarch, int regnum, const struct reggroup *reggroup);
extern void set_gdbarch_register_reggroup_p (struct gdbarch *gdbarch, gdbarch_register_reggroup_p_ftype *register_reggroup_p);
/* Fetch the pointer to the ith function argument. */
diff --git a/gdb/gdbarch_components.py b/gdb/gdbarch_components.py
index 50be82c578d..ad874958d90 100644
--- a/gdb/gdbarch_components.py
+++ b/gdb/gdbarch_components.py
@@ -1585,7 +1585,7 @@ Method(
comment="""
Is a register in a group
""",
- type="int",
+ type="bool",
name="register_reggroup_p",
params=[("int", "regnum"), ("const struct reggroup *", "reggroup")],
predefault="default_register_reggroup_p",
diff --git a/gdb/i386-linux-tdep.c b/gdb/i386-linux-tdep.c
index b122e5fac83..4a4daabbeaa 100644
--- a/gdb/i386-linux-tdep.c
+++ b/gdb/i386-linux-tdep.c
@@ -53,9 +53,9 @@
#include "arch/i386.h"
#include "target-descriptions.h"
-/* Return non-zero, when the register is in the corresponding register
+/* Return true when the register is in the corresponding register
group. Put the LINUX_ORIG_EAX register in the system group. */
-static int
+static bool
i386_linux_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
const struct reggroup *group)
{
diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c
index 4ef9837570b..b74b8bd3994 100644
--- a/gdb/i386-tdep.c
+++ b/gdb/i386-tdep.c
@@ -4261,7 +4261,7 @@ i386_add_reggroups (struct gdbarch *gdbarch)
reggroup_add (gdbarch, i386_mmx_reggroup);
}
-int
+bool
i386_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
const struct reggroup *group)
{
@@ -4274,13 +4274,13 @@ i386_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
/* Don't include pseudo registers, except for MMX, in any register
groups. */
if (i386_byte_regnum_p (gdbarch, regnum))
- return 0;
+ return false;
if (i386_word_regnum_p (gdbarch, regnum))
- return 0;
+ return false;
if (i386_dword_regnum_p (gdbarch, regnum))
- return 0;
+ return false;
mmx_regnum_p = i386_mmx_regnum_p (gdbarch, regnum);
if (group == i386_mmx_reggroup)
@@ -4327,7 +4327,7 @@ i386_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
|| ymmh_regnum_p
|| ymmh_avx512_regnum_p
|| zmmh_regnum_p))
- return 0;
+ return false;
if (group == general_reggroup)
return (!fp_regnum_p
diff --git a/gdb/i386-tdep.h b/gdb/i386-tdep.h
index ee33b8b530d..21f9ed42a17 100644
--- a/gdb/i386-tdep.h
+++ b/gdb/i386-tdep.h
@@ -420,8 +420,8 @@ extern CORE_ADDR i386_thiscall_push_dummy_call (struct gdbarch *gdbarch,
extern int i386_sigtramp_p (const frame_info_ptr &this_frame);
/* Return non-zero if REGNUM is a member of the specified group. */
-extern int i386_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
- const struct reggroup *group);
+extern bool i386_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
+ const struct reggroup *group);
/* Supply register REGNUM from the general-purpose register set REGSET
to register cache REGCACHE. If REGNUM is -1, do this for all
diff --git a/gdb/ia64-tdep.c b/gdb/ia64-tdep.c
index 7421fbb37d3..a07c3ea30ba 100644
--- a/gdb/ia64-tdep.c
+++ b/gdb/ia64-tdep.c
@@ -323,7 +323,7 @@ ia64_ext_type (struct gdbarch *gdbarch)
return tdep->ia64_ext_type;
}
-static int
+static bool
ia64_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
const struct reggroup *group)
{
@@ -331,7 +331,7 @@ ia64_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
int float_p;
int raw_p;
if (group == all_reggroup)
- return 1;
+ return true;
vector_p = register_type (gdbarch, regnum)->is_vector ();
float_p = register_type (gdbarch, regnum)->code () == TYPE_CODE_FLT;
raw_p = regnum < NUM_IA64_RAW_REGS;
@@ -343,7 +343,7 @@ ia64_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
return (!vector_p && !float_p);
if (group == save_reggroup || group == restore_reggroup)
return raw_p;
- return 0;
+ return false;
}
static const char *
diff --git a/gdb/lm32-tdep.c b/gdb/lm32-tdep.c
index 2f7c21d6a21..410d2ca71dc 100644
--- a/gdb/lm32-tdep.c
+++ b/gdb/lm32-tdep.c
@@ -65,7 +65,7 @@ struct lm32_frame_cache
/* Return whether a given register is in a given group. */
-static int
+static bool
lm32_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
const struct reggroup *group)
{
diff --git a/gdb/loongarch-tdep.c b/gdb/loongarch-tdep.c
index 6b706195e9e..225b1abb703 100644
--- a/gdb/loongarch-tdep.c
+++ b/gdb/loongarch-tdep.c
@@ -1970,35 +1970,35 @@ loongarch_find_default_target_description (const struct gdbarch_info info)
return loongarch_lookup_target_description (features);
}
-static int
+static bool
loongarch_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
const struct reggroup *group)
{
if (gdbarch_register_name (gdbarch, regnum) == NULL
|| *gdbarch_register_name (gdbarch, regnum) == '\0')
- return 0;
+ return false;
- int raw_p = regnum < gdbarch_num_regs (gdbarch);
+ bool raw_p = regnum < gdbarch_num_regs (gdbarch);
if (group == save_reggroup || group == restore_reggroup)
return raw_p;
if (group == all_reggroup)
- return 1;
+ return true;
if (0 <= regnum && regnum <= LOONGARCH_BADV_REGNUM)
return group == general_reggroup;
/* Only ORIG_A0, PC, BADV in general_reggroup */
if (group == general_reggroup)
- return 0;
+ return false;
if (LOONGARCH_FIRST_FP_REGNUM <= regnum && regnum <= LOONGARCH_FCSR_REGNUM)
return group == float_reggroup;
/* Only $fx / $fccx / $fcsr in float_reggroup */
if (group == float_reggroup)
- return 0;
+ return false;
if (LOONGARCH_FIRST_LSX_REGNUM <= regnum
&& regnum < LOONGARCH_FIRST_LASX_REGNUM + LOONGARCH_LINUX_NUM_LASXREGSET)
@@ -2006,7 +2006,7 @@ loongarch_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
/* Only $vrx / $xrx in vector_reggroup */
if (group == vector_reggroup)
- return 0;
+ return false;
int ret = tdesc_register_in_reggroup_p (gdbarch, regnum, group);
if (ret != -1)
diff --git a/gdb/m32c-tdep.c b/gdb/m32c-tdep.c
index 308e2e15ac0..ee4665fe1ce 100644
--- a/gdb/m32c-tdep.c
+++ b/gdb/m32c-tdep.c
@@ -252,7 +252,7 @@ m32c_debug_info_reg_to_regnum (struct gdbarch *gdbarch, int reg_nr)
}
-static int
+static bool
m32c_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
const struct reggroup *group)
{
@@ -261,22 +261,22 @@ m32c_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
/* The anonymous raw registers aren't in any groups. */
if (! reg->name)
- return 0;
+ return false;
if (group == all_reggroup)
- return 1;
+ return true;
if (group == general_reggroup
&& reg->general_p)
- return 1;
+ return true;
if (group == m32c_dma_reggroup
&& reg->dma_p)
- return 1;
+ return true;
if (group == system_reggroup
&& reg->system_p)
- return 1;
+ return true;
/* Since the m32c DWARF register numbers refer to cooked registers, not
raw registers, and frame_pop depends on the save and restore groups
@@ -286,9 +286,9 @@ m32c_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
if ((group == save_reggroup
|| group == restore_reggroup)
&& reg->save_restore_p)
- return 1;
+ return true;
- return 0;
+ return false;
}
diff --git a/gdb/m68hc11-tdep.c b/gdb/m68hc11-tdep.c
index f131b921dfe..14a9c93e0e3 100644
--- a/gdb/m68hc11-tdep.c
+++ b/gdb/m68hc11-tdep.c
@@ -1358,7 +1358,7 @@ m68hc11_add_reggroups (struct gdbarch *gdbarch)
reggroup_add (gdbarch, m68hc11_soft_reggroup);
}
-static int
+static bool
m68hc11_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
const struct reggroup *group)
{
diff --git a/gdb/mep-tdep.c b/gdb/mep-tdep.c
index e4a0408836d..9f8e8ebca38 100644
--- a/gdb/mep-tdep.c
+++ b/gdb/mep-tdep.c
@@ -1029,7 +1029,7 @@ static const reggroup *mep_cr_reggroup; /* coprocessor general-purpose */
static const reggroup *mep_ccr_reggroup; /* coprocessor control */
-static int
+static bool
mep_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
const struct reggroup *group)
{
@@ -1038,7 +1038,7 @@ mep_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
const char *name = mep_register_name (gdbarch, regnum);
if (! name || name[0] == '\0')
- return 0;
+ return false;
}
/* We could separate the GPRs and the CSRs. Toshiba has approved of
@@ -1076,7 +1076,7 @@ mep_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
else if (group == mep_ccr_reggroup)
return IS_CCR_REGNUM (regnum);
else
- return 0;
+ return false;
}
diff --git a/gdb/mips-tdep.c b/gdb/mips-tdep.c
index c34c4d6c21f..f1cda0b0935 100644
--- a/gdb/mips-tdep.c
+++ b/gdb/mips-tdep.c
@@ -699,24 +699,21 @@ mips_register_name (struct gdbarch *gdbarch, int regno)
/* Return the groups that a MIPS register can be categorised into. */
-static int
+static bool
mips_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
const struct reggroup *reggroup)
{
- int vector_p;
- int float_p;
- int raw_p;
int rawnum = regnum % gdbarch_num_regs (gdbarch);
int pseudo = regnum / gdbarch_num_regs (gdbarch);
if (reggroup == all_reggroup)
return pseudo;
- vector_p = register_type (gdbarch, regnum)->is_vector ();
- float_p = register_type (gdbarch, regnum)->code () == TYPE_CODE_FLT;
+ bool vector_p = register_type (gdbarch, regnum)->is_vector ();
+ bool float_p = register_type (gdbarch, regnum)->code () == TYPE_CODE_FLT;
/* FIXME: cagney/2003-04-13: Can't yet use gdbarch_num_regs
(gdbarch), as not all architectures are multi-arch. */
- raw_p = rawnum < gdbarch_num_regs (gdbarch);
+ bool raw_p = rawnum < gdbarch_num_regs (gdbarch);
if (gdbarch_register_name (gdbarch, regnum)[0] == '\0')
- return 0;
+ return false;
if (reggroup == float_reggroup)
return float_p && pseudo;
if (reggroup == vector_reggroup)
@@ -731,14 +728,14 @@ mips_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
/* Restore the same pseudo register. */
if (reggroup == restore_reggroup)
return raw_p && pseudo;
- return 0;
+ return false;
}
/* Return the groups that a MIPS register can be categorised into.
This version is only used if we have a target description which
describes real registers (and their groups). */
-static int
+static bool
mips_tdesc_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
const struct reggroup *reggroup)
{
@@ -754,7 +751,7 @@ mips_tdesc_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
strange; if we have 64 bits, we should save and restore all
64 bits. But this is hard and has little benefit. */
if (!pseudo)
- return 0;
+ return false;
ret = tdesc_register_in_reggroup_p (gdbarch, rawnum, reggroup);
if (ret != -1)
diff --git a/gdb/msp430-tdep.c b/gdb/msp430-tdep.c
index 190959adf81..7b28bec290f 100644
--- a/gdb/msp430-tdep.c
+++ b/gdb/msp430-tdep.c
@@ -204,12 +204,12 @@ msp430_register_name (struct gdbarch *gdbarch, int regnr)
/* Implement the "register_reggroup_p" gdbarch method. */
-static int
+static bool
msp430_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
const struct reggroup *group)
{
if (group == all_reggroup)
- return 1;
+ return true;
/* All other registers are saved and restored. */
if (group == save_reggroup || group == restore_reggroup)
diff --git a/gdb/nds32-tdep.c b/gdb/nds32-tdep.c
index e2efe4fcdda..90ed8355775 100644
--- a/gdb/nds32-tdep.c
+++ b/gdb/nds32-tdep.c
@@ -359,7 +359,7 @@ nds32_add_reggroups (struct gdbarch *gdbarch)
/* Implement the "register_reggroup_p" gdbarch method. */
-static int
+static bool
nds32_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
const struct reggroup *reggroup)
{
@@ -368,7 +368,7 @@ nds32_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
int ret;
if (reggroup == all_reggroup)
- return 1;
+ return true;
/* General reggroup contains only GPRs and PC. */
if (reggroup == general_reggroup)
diff --git a/gdb/reggroups.c b/gdb/reggroups.c
index cf377ddee76..d5af2ce0736 100644
--- a/gdb/reggroups.c
+++ b/gdb/reggroups.c
@@ -139,23 +139,19 @@ gdbarch_reggroups (struct gdbarch *gdbarch)
/* See reggroups.h. */
-int
+bool
default_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
const struct reggroup *group)
{
- int vector_p;
- int float_p;
- int raw_p;
-
if (*gdbarch_register_name (gdbarch, regnum) == '\0')
- return 0;
+ return false;
if (group == all_reggroup)
- return 1;
- vector_p = register_type (gdbarch, regnum)->is_vector ();
- float_p = (register_type (gdbarch, regnum)->code () == TYPE_CODE_FLT
- || (register_type (gdbarch, regnum)->code ()
- == TYPE_CODE_DECFLOAT));
- raw_p = regnum < gdbarch_num_regs (gdbarch);
+ return true;
+ bool vector_p = register_type (gdbarch, regnum)->is_vector ();
+ bool float_p = (register_type (gdbarch, regnum)->code () == TYPE_CODE_FLT
+ || (register_type (gdbarch, regnum)->code ()
+ == TYPE_CODE_DECFLOAT));
+ bool raw_p = regnum < gdbarch_num_regs (gdbarch);
if (group == float_reggroup)
return float_p;
if (group == vector_reggroup)
@@ -164,7 +160,7 @@ default_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
return (!vector_p && !float_p);
if (group == save_reggroup || group == restore_reggroup)
return raw_p;
- return 0;
+ return false;
}
/* See reggroups.h. */
diff --git a/gdb/reggroups.h b/gdb/reggroups.h
index 319ab462e45..47824d5427e 100644
--- a/gdb/reggroups.h
+++ b/gdb/reggroups.h
@@ -95,7 +95,7 @@ extern const 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,
- const struct reggroup *reggroup);
+extern bool default_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
+ const struct reggroup *reggroup);
#endif /* GDB_REGGROUPS_H */
diff --git a/gdb/riscv-tdep.c b/gdb/riscv-tdep.c
index 452859b45ac..1d11ce50e86 100644
--- a/gdb/riscv-tdep.c
+++ b/gdb/riscv-tdep.c
@@ -1392,7 +1392,7 @@ riscv_is_unknown_csr (struct gdbarch *gdbarch, int regnum)
/* Implement the register_reggroup_p gdbarch method. Is REGNUM a member
of REGGROUP? */
-static int
+static bool
riscv_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
const struct reggroup *reggroup)
{
@@ -1401,7 +1401,7 @@ riscv_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
/* Used by 'info registers' and 'info registers <groupname>'. */
if (gdbarch_register_name (gdbarch, regnum)[0] == '\0')
- return 0;
+ return false;
if (regnum > RISCV_LAST_REGNUM && regnum < gdbarch_num_regs (gdbarch))
{
@@ -1418,9 +1418,9 @@ riscv_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
{
if (reggroup == restore_reggroup || reggroup == save_reggroup
|| reggroup == general_reggroup)
- return 0;
+ return false;
else if (reggroup == system_reggroup || reggroup == csr_reggroup)
- return 1;
+ return true;
}
/* This is some other unknown register from the target description.
@@ -1436,10 +1436,10 @@ riscv_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
if (reggroup == all_reggroup)
{
if (regnum < RISCV_FIRST_CSR_REGNUM || regnum >= RISCV_PRIV_REGNUM)
- return 1;
+ return true;
if (riscv_is_regnum_a_named_csr (regnum))
- return 1;
- return 0;
+ return true;
+ return false;
}
else if (reggroup == float_reggroup)
return (riscv_is_fp_regno_p (regnum)
@@ -1461,17 +1461,17 @@ riscv_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
else if (reggroup == system_reggroup || reggroup == csr_reggroup)
{
if (regnum == RISCV_PRIV_REGNUM)
- return 1;
+ return true;
if (regnum < RISCV_FIRST_CSR_REGNUM || regnum > RISCV_LAST_CSR_REGNUM)
- return 0;
+ return false;
if (riscv_is_regnum_a_named_csr (regnum))
- return 1;
- return 0;
+ return true;
+ return false;
}
else if (reggroup == vector_reggroup)
return (regnum >= RISCV_V0_REGNUM && regnum <= RISCV_V31_REGNUM);
else
- return 0;
+ return false;
}
/* Return the name for pseudo-register REGNUM for GDBARCH. */
@@ -1502,10 +1502,10 @@ riscv_pseudo_register_type (struct gdbarch *gdbarch, int regnum)
gdb_assert_not_reached ("unknown pseudo register number %d", regnum);
}
-/* Return true (non-zero) if pseudo-register REGNUM from GDBARCH is a
- member of REGGROUP, otherwise return false (zero). */
+/* Return true if pseudo-register REGNUM from GDBARCH is a
+ member of REGGROUP, otherwise return false. */
-static int
+static bool
riscv_pseudo_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
const struct reggroup *reggroup)
{
diff --git a/gdb/rl78-tdep.c b/gdb/rl78-tdep.c
index 07cdce13ebc..ead2b8494c5 100644
--- a/gdb/rl78-tdep.c
+++ b/gdb/rl78-tdep.c
@@ -585,12 +585,12 @@ rl78_g10_register_name (struct gdbarch *gdbarch, int regnr)
/* Implement the "register_reggroup_p" gdbarch method. */
-static int
+static bool
rl78_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
const struct reggroup *group)
{
if (group == all_reggroup)
- return 1;
+ return true;
/* All other registers are saved and restored. */
if (group == save_reggroup || group == restore_reggroup)
@@ -601,9 +601,9 @@ rl78_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
&& regnum != RL78_RAW_PC_REGNUM)
|| regnum == RL78_SP_REGNUM
|| regnum == RL78_PC_REGNUM)
- return 1;
+ return true;
else
- return 0;
+ return false;
}
if ((RL78_BANK0_R0_REGNUM <= regnum && regnum <= RL78_BANK3_R7_REGNUM)
diff --git a/gdb/rs6000-tdep.c b/gdb/rs6000-tdep.c
index a68309d2a86..d5efd936c9e 100644
--- a/gdb/rs6000-tdep.c
+++ b/gdb/rs6000-tdep.c
@@ -2644,14 +2644,14 @@ rs6000_pseudo_register_type (struct gdbarch *gdbarch, int regnum)
since the raw vrX registers will already show in these cases. For
other pseudo-registers we use the default membership function. */
-static int
+static bool
rs6000_pseudo_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
const struct reggroup *group)
{
ppc_gdbarch_tdep *tdep = gdbarch_tdep<ppc_gdbarch_tdep> (gdbarch);
if (IS_V_ALIAS_PSEUDOREG (tdep, regnum))
- return 0;
+ return false;
else
return default_register_reggroup_p (gdbarch, regnum, group);
}
diff --git a/gdb/s390-tdep.c b/gdb/s390-tdep.c
index 5b17d5da89b..07793c4809e 100644
--- a/gdb/s390-tdep.c
+++ b/gdb/s390-tdep.c
@@ -1232,7 +1232,7 @@ regnum_is_gpr_full (s390_gdbarch_tdep *tdep, int regnum)
/* Check whether REGNUM indicates a full vector register (v0-v15).
These pseudo-registers are composed of f0-f15 and v0l-v15l. */
-static int
+static bool
regnum_is_vxr_full (s390_gdbarch_tdep *tdep, int regnum)
{
return (tdep->v0_full_regnum != -1
@@ -1477,7 +1477,7 @@ s390_pseudo_register_write (struct gdbarch *gdbarch, struct regcache *regcache,
/* Implement pseudo_register_reggroup_p tdesc method. */
-static int
+static bool
s390_pseudo_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
const struct reggroup *group)
{
@@ -1498,7 +1498,7 @@ s390_pseudo_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
return regnum_is_vxr_full (tdep, regnum);
if (group == general_reggroup && regnum_is_vxr_full (tdep, regnum))
- return 0;
+ return false;
return default_register_reggroup_p (gdbarch, regnum, group);
}
diff --git a/gdb/sh-tdep.c b/gdb/sh-tdep.c
index c74114b2687..0b6dc111194 100644
--- a/gdb/sh-tdep.c
+++ b/gdb/sh-tdep.c
@@ -1469,24 +1469,24 @@ sh_default_register_type (struct gdbarch *gdbarch, int reg_nr)
The default code in reggroup.c doesn't identify system registers, some
float registers or any of the vector registers.
TODO: sh2a and dsp registers. */
-static int
+static bool
sh_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
const struct reggroup *reggroup)
{
if (*gdbarch_register_name (gdbarch, regnum) == '\0')
- return 0;
+ return false;
if (reggroup == float_reggroup
&& (regnum == FPUL_REGNUM
|| regnum == FPSCR_REGNUM))
- return 1;
+ return true;
if (regnum >= FV0_REGNUM && regnum <= FV_LAST_REGNUM)
{
if (reggroup == vector_reggroup || reggroup == float_reggroup)
- return 1;
+ return true;
if (reggroup == general_reggroup)
- return 0;
+ return false;
}
if (regnum == VBR_REGNUM
@@ -1496,9 +1496,9 @@ sh_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
|| regnum == SPC_REGNUM)
{
if (reggroup == system_reggroup)
- return 1;
+ return true;
if (reggroup == general_reggroup)
- return 0;
+ return false;
}
/* The default code can cope with any other registers. */
diff --git a/gdb/target-descriptions.c b/gdb/target-descriptions.c
index 3464af80dec..e1821fe7114 100644
--- a/gdb/target-descriptions.c
+++ b/gdb/target-descriptions.c
@@ -956,7 +956,7 @@ tdesc_register_in_reggroup_p (struct gdbarch *gdbarch, int regno,
group specified go to the default reggroup function and are handled
by type. */
-static int
+static bool
tdesc_register_reggroup_p (struct gdbarch *gdbarch, int regno,
const struct reggroup *reggroup)
{
diff --git a/gdb/xtensa-tdep.c b/gdb/xtensa-tdep.c
index 9ec5653e968..3b70678b167 100644
--- a/gdb/xtensa-tdep.c
+++ b/gdb/xtensa-tdep.c
@@ -759,7 +759,7 @@ xtensa_coprocessor_register_group (const struct reggroup *group)
#define SAVE_REST_VALID (XTENSA_REGISTER_FLAGS_READABLE \
| XTENSA_REGISTER_FLAGS_WRITABLE)
-static int
+static bool
xtensa_register_reggroup_p (struct gdbarch *gdbarch,
int regnum,
const struct reggroup *group)
@@ -773,15 +773,15 @@ xtensa_register_reggroup_p (struct gdbarch *gdbarch,
if (group == save_reggroup)
/* Every single register should be included into the list of registers
to be watched for changes while using -data-list-changed-registers. */
- return 1;
+ return true;
/* First, skip registers that are not visible to this target
(unknown and unmapped registers when not using ISS). */
if (type == xtRegisterTypeUnmapped || type == xtRegisterTypeUnknown)
- return 0;
+ return false;
if (group == all_reggroup)
- return 1;
+ return true;
if (group == xtensa_ar_reggroup)
return rg & xtRegisterGroupAddrReg;
if (group == xtensa_user_reggroup)
@@ -801,7 +801,7 @@ xtensa_register_reggroup_p (struct gdbarch *gdbarch,
if (cp_number >= 0)
return rg & (xtRegisterGroupCP0 << cp_number);
else
- return 1;
+ return true;
}
More information about the Gdb-cvs
mailing list