[pushed] gdb: make get_array_bounds return bool
Simon Marchi
simon.marchi@polymtl.ca
Tue Nov 17 23:47:39 GMT 2020
Obvious change from int to bool. I took the opportunity to move the doc
to the header file.
gdb/ChangeLog:
* gdbtypes.h (get_array_bounds): Return bool, adjust some
callers. Move doc here.
* gdbtypes.c (get_array_bounds): Return bool
Change-Id: I8ed20298cb0927963c1f09b345966533d5ed06e2
---
gdb/ChangeLog | 6 ++++++
gdb/compile/compile-c-types.c | 2 +-
gdb/compile/compile-cplus-types.c | 2 +-
gdb/gdbtypes.c | 15 +++++----------
gdb/gdbtypes.h | 11 +++++++++--
5 files changed, 22 insertions(+), 14 deletions(-)
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index a887a83e0811..e0be2afb8d55 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,9 @@
+2020-11-17 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * gdbtypes.h (get_array_bounds): Return bool, adjust some
+ callers. Move doc here.
+ * gdbtypes.c (get_array_bounds): Return bool
+
2020-11-17 Andrew Burgess <andrew.burgess@embecosm.com>
* arc-linux-tdep.c (arc_linux_sw_breakpoint_from_kind): Add an
diff --git a/gdb/compile/compile-c-types.c b/gdb/compile/compile-c-types.c
index 82c9af37b5fb..87fc4e55eb2b 100644
--- a/gdb/compile/compile-c-types.c
+++ b/gdb/compile/compile-c-types.c
@@ -70,7 +70,7 @@ convert_array (compile_c_instance *context, struct type *type)
{
LONGEST low_bound, high_bound, count;
- if (get_array_bounds (type, &low_bound, &high_bound) == 0)
+ if (!get_array_bounds (type, &low_bound, &high_bound))
count = -1;
else
{
diff --git a/gdb/compile/compile-cplus-types.c b/gdb/compile/compile-cplus-types.c
index 75b226d900e9..e284ceb3e455 100644
--- a/gdb/compile/compile-cplus-types.c
+++ b/gdb/compile/compile-cplus-types.c
@@ -491,7 +491,7 @@ compile_cplus_convert_array (compile_cplus_instance *instance,
{
LONGEST low_bound, high_bound, count;
- if (get_array_bounds (type, &low_bound, &high_bound) == 0)
+ if (!get_array_bounds (type, &low_bound, &high_bound))
count = -1;
else
{
diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
index 2f92887b3cfc..cde077027343 100644
--- a/gdb/gdbtypes.c
+++ b/gdb/gdbtypes.c
@@ -1119,14 +1119,9 @@ get_discrete_bounds (struct type *type, LONGEST *lowp, LONGEST *highp)
}
}
-/* Assuming TYPE is a simple, non-empty array type, compute its upper
- and lower bound. Save the low bound into LOW_BOUND if not NULL.
- Save the high bound into HIGH_BOUND if not NULL.
-
- Return 1 if the operation was successful. Return zero otherwise,
- in which case the values of LOW_BOUND and HIGH_BOUNDS are unmodified. */
+/* See gdbtypes.h */
-int
+bool
get_array_bounds (struct type *type, LONGEST *low_bound, LONGEST *high_bound)
{
struct type *index = type->index_type ();
@@ -1135,11 +1130,11 @@ get_array_bounds (struct type *type, LONGEST *low_bound, LONGEST *high_bound)
int res;
if (index == NULL)
- return 0;
+ return false;
res = get_discrete_bounds (index, &low, &high);
if (res == -1)
- return 0;
+ return false;
if (low_bound)
*low_bound = low;
@@ -1147,7 +1142,7 @@ get_array_bounds (struct type *type, LONGEST *low_bound, LONGEST *high_bound)
if (high_bound)
*high_bound = high;
- return 1;
+ return true;
}
/* Assuming that TYPE is a discrete type and VAL is a valid integer
diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h
index 5f9ac27b5151..2b6f599f4c7a 100644
--- a/gdb/gdbtypes.h
+++ b/gdb/gdbtypes.h
@@ -2435,8 +2435,15 @@ extern int get_vptr_fieldno (struct type *, struct type **);
extern int get_discrete_bounds (struct type *, LONGEST *, LONGEST *);
-extern int get_array_bounds (struct type *type, LONGEST *low_bound,
- LONGEST *high_bound);
+/* Assuming TYPE is a simple, non-empty array type, compute its upper
+ and lower bound. Save the low bound into LOW_BOUND if not NULL.
+ Save the high bound into HIGH_BOUND if not NULL.
+
+ Return true if the operation was successful. Return false otherwise,
+ in which case the values of LOW_BOUND and HIGH_BOUNDS are unmodified. */
+
+extern bool get_array_bounds (struct type *type, LONGEST *low_bound,
+ LONGEST *high_bound);
extern int discrete_position (struct type *type, LONGEST val, LONGEST *pos);
--
2.29.1
More information about the Gdb-patches
mailing list