diff options
author | Simon Marchi <simon.marchi@efficios.com> | 2020-07-12 22:58:52 -0400 |
---|---|---|
committer | Simon Marchi <simon.marchi@polymtl.ca> | 2020-07-12 22:58:52 -0400 |
commit | 39498edbc850409c332dd5be60a82d1bf704bc8f (patch) | |
tree | a02e5fa6f5e7e742aad3da678648b80be17a22f3 | |
parent | 3b606f384df54adb8e70dd678cd9a4c9759e4122 (diff) | |
download | gdb-39498edbc850409c332dd5be60a82d1bf704bc8f.zip gdb-39498edbc850409c332dd5be60a82d1bf704bc8f.tar.gz gdb-39498edbc850409c332dd5be60a82d1bf704bc8f.tar.bz2 |
gdb: remove TYPE_ARRAY_{UPPER,LOWER}_BOUND_IS_UNDEFINED
Remove the macros, use the various equivalent getters instead.
gdb/ChangeLog:
* gdbtypes.h (TYPE_ARRAY_UPPER_BOUND_IS_UNDEFINED,
TYPE_ARRAY_LOWER_BOUND_IS_UNDEFINED): Remove. Update all
callers to use the equivalent accessor methods instead.
Change-Id: Ifb4c36f440b82533bde5d15a5cbb2fc91f467292
-rw-r--r-- | gdb/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/c-varobj.c | 2 | ||||
-rw-r--r-- | gdb/f-typeprint.c | 4 | ||||
-rw-r--r-- | gdb/f-valprint.c | 4 | ||||
-rw-r--r-- | gdb/gdbtypes.h | 5 | ||||
-rw-r--r-- | gdb/m2-typeprint.c | 2 | ||||
-rw-r--r-- | gdb/p-typeprint.c | 2 | ||||
-rw-r--r-- | gdb/valarith.c | 9 | ||||
-rw-r--r-- | gdb/valops.c | 3 |
9 files changed, 20 insertions, 17 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index f257a8f..e17a61e 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,11 @@ 2020-07-12 Simon Marchi <simon.marchi@efficios.com> + * gdbtypes.h (TYPE_ARRAY_UPPER_BOUND_IS_UNDEFINED, + TYPE_ARRAY_LOWER_BOUND_IS_UNDEFINED): Remove. Update all + callers to use the equivalent accessor methods instead. + +2020-07-12 Simon Marchi <simon.marchi@efficios.com> + * gdbtypes.h (TYPE_LOW_BOUND_KIND, TYPE_HIGH_BOUND_KIND): Remove. Update all callers to use dynamic_prop::kind. diff --git a/gdb/c-varobj.c b/gdb/c-varobj.c index a0b8493..2bcfe86 100644 --- a/gdb/c-varobj.c +++ b/gdb/c-varobj.c @@ -192,7 +192,7 @@ c_number_of_children (const struct varobj *var) { case TYPE_CODE_ARRAY: if (TYPE_LENGTH (type) > 0 && TYPE_LENGTH (target) > 0 - && !TYPE_ARRAY_UPPER_BOUND_IS_UNDEFINED (type)) + && (type->index_type ()->bounds ()->high.kind () != PROP_UNDEFINED)) children = TYPE_LENGTH (type) / TYPE_LENGTH (target); else /* If we don't know how many elements there are, don't display diff --git a/gdb/f-typeprint.c b/gdb/f-typeprint.c index f09a4b1..df83a48 100644 --- a/gdb/f-typeprint.c +++ b/gdb/f-typeprint.c @@ -223,7 +223,7 @@ f_type_print_varspec_suffix (struct type *type, struct ui_file *stream, /* Make sure that, if we have an assumed size array, we print out a warning and print the upperbound as '*'. */ - if (TYPE_ARRAY_UPPER_BOUND_IS_UNDEFINED (type)) + if (type->index_type ()->bounds ()->high.kind () == PROP_UNDEFINED) fprintf_filtered (stream, "*"); else { @@ -408,7 +408,7 @@ f_type_print_base (struct type *type, struct ui_file *stream, int show, case TYPE_CODE_STRING: /* Strings may have dynamic upperbounds (lengths) like arrays. */ - if (TYPE_ARRAY_UPPER_BOUND_IS_UNDEFINED (type)) + if (type->index_type ()->bounds ()->high.kind () == PROP_UNDEFINED) fprintfi_filtered (level, stream, "character*(*)"); else { diff --git a/gdb/f-valprint.c b/gdb/f-valprint.c index 6ed1c34..05f98bc 100644 --- a/gdb/f-valprint.c +++ b/gdb/f-valprint.c @@ -46,7 +46,7 @@ int f77_array_offset_tbl[MAX_FORTRAN_DIMS + 1][2]; LONGEST f77_get_lowerbound (struct type *type) { - if (TYPE_ARRAY_LOWER_BOUND_IS_UNDEFINED (type)) + if (type->index_type ()->bounds ()->low.kind () == PROP_UNDEFINED) error (_("Lower bound may not be '*' in F77")); return TYPE_ARRAY_LOWER_BOUND_VALUE (type); @@ -55,7 +55,7 @@ f77_get_lowerbound (struct type *type) LONGEST f77_get_upperbound (struct type *type) { - if (TYPE_ARRAY_UPPER_BOUND_IS_UNDEFINED (type)) + if (type->index_type ()->bounds ()->high.kind () == PROP_UNDEFINED) { /* We have an assumed size array on our hands. Assume that upper_bound == lower_bound so that we show at least 1 element. diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h index 9be9705..83432b6 100644 --- a/gdb/gdbtypes.h +++ b/gdb/gdbtypes.h @@ -1628,11 +1628,6 @@ extern bool set_type_align (struct type *, ULONGEST); /* Accessors for struct range_bounds data attached to an array type's index type. */ -#define TYPE_ARRAY_UPPER_BOUND_IS_UNDEFINED(arraytype) \ - ((arraytype)->index_type ()->bounds ()->high.kind () == PROP_UNDEFINED) -#define TYPE_ARRAY_LOWER_BOUND_IS_UNDEFINED(arraytype) \ - ((arraytype)->index_type ()->bounds ()->low.kind () == PROP_UNDEFINED) - #define TYPE_ARRAY_UPPER_BOUND_VALUE(arraytype) \ ((arraytype)->index_type ()->bounds ()->high.const_val ()) diff --git a/gdb/m2-typeprint.c b/gdb/m2-typeprint.c index 39f0e8e..474e587 100644 --- a/gdb/m2-typeprint.c +++ b/gdb/m2-typeprint.c @@ -226,7 +226,7 @@ static void m2_array (struct type *type, struct ui_file *stream, { fprintf_filtered (stream, "ARRAY ["); if (TYPE_LENGTH (TYPE_TARGET_TYPE (type)) > 0 - && !TYPE_ARRAY_UPPER_BOUND_IS_UNDEFINED (type)) + && type->index_type ()->bounds ()->high.kind () != PROP_UNDEFINED) { if (type->index_type () != 0) { diff --git a/gdb/p-typeprint.c b/gdb/p-typeprint.c index c453df4..5a32667 100644 --- a/gdb/p-typeprint.c +++ b/gdb/p-typeprint.c @@ -274,7 +274,7 @@ pascal_type_print_varspec_prefix (struct type *type, struct ui_file *stream, fprintf_filtered (stream, "("); fprintf_filtered (stream, "array "); if (TYPE_LENGTH (TYPE_TARGET_TYPE (type)) > 0 - && !TYPE_ARRAY_UPPER_BOUND_IS_UNDEFINED (type)) + && type->index_type ()->bounds ()->high.kind () != PROP_UNDEFINED) fprintf_filtered (stream, "[%s..%s] ", plongest (TYPE_ARRAY_LOWER_BOUND_VALUE (type)), plongest (TYPE_ARRAY_UPPER_BOUND_VALUE (type))); diff --git a/gdb/valarith.c b/gdb/valarith.c index a5779a3..0b1f43f 100644 --- a/gdb/valarith.c +++ b/gdb/valarith.c @@ -200,12 +200,13 @@ value_subscripted_rvalue (struct value *array, LONGEST index, LONGEST lowerbound } LONGEST elt_offs = elt_size * (index - lowerbound); + bool array_upper_bound_undefined + = array_type->index_type ()->bounds ()->high.kind () == PROP_UNDEFINED; if (index < lowerbound - || (!TYPE_ARRAY_UPPER_BOUND_IS_UNDEFINED (array_type) - && elt_offs >= type_length_units (array_type)) - || (VALUE_LVAL (array) != lval_memory - && TYPE_ARRAY_UPPER_BOUND_IS_UNDEFINED (array_type))) + || (!array_upper_bound_undefined + && elt_offs >= type_length_units (array_type)) + || (VALUE_LVAL (array) != lval_memory && array_upper_bound_undefined)) { if (type_not_associated (array_type)) error (_("no such vector element (vector not associated)")); diff --git a/gdb/valops.c b/gdb/valops.c index afdb429..cfa0f54 100644 --- a/gdb/valops.c +++ b/gdb/valops.c @@ -388,7 +388,8 @@ value_cast (struct type *type, struct value *arg2) struct type *element_type = TYPE_TARGET_TYPE (type); unsigned element_length = TYPE_LENGTH (check_typedef (element_type)); - if (element_length > 0 && TYPE_ARRAY_UPPER_BOUND_IS_UNDEFINED (type)) + if (element_length > 0 + && type->index_type ()->bounds ()->high.kind () == PROP_UNDEFINED) { struct type *range_type = type->index_type (); int val_length = TYPE_LENGTH (type2); |