}
}
-/* 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 ();
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;
if (high_bound)
*high_bound = high;
- return 1;
+ return true;
}
/* Assuming that TYPE is a discrete type and VAL is a valid integer
if (element_type->code () == TYPE_CODE_ARRAY
&& TYPE_LENGTH (element_type) != 0
&& TYPE_FIELD_BITSIZE (element_type, 0) != 0
- && get_array_bounds (element_type, &low_bound, &high_bound) >= 0
+ && get_array_bounds (element_type, &low_bound, &high_bound)
&& high_bound >= low_bound)
TYPE_FIELD_BITSIZE (type, 0)
= ((high_bound - low_bound + 1)