diff options
author | Simon Marchi <simon.marchi@polymtl.ca> | 2020-12-09 14:49:02 -0500 |
---|---|---|
committer | Simon Marchi <simon.marchi@polymtl.ca> | 2020-12-09 14:49:15 -0500 |
commit | 6ad368b8caf6650852983fc23814c9f393da0439 (patch) | |
tree | 8e0d02c1ef4fce05c41b6ed9ef8f0f012f4714db /gdb | |
parent | 5b56203a7cadd545b33713e98e274e582242e090 (diff) | |
download | gdb-6ad368b8caf6650852983fc23814c9f393da0439.zip gdb-6ad368b8caf6650852983fc23814c9f393da0439.tar.gz gdb-6ad368b8caf6650852983fc23814c9f393da0439.tar.bz2 |
gdb: address review comments of previous series
I forgot to include fixes for review comments I got before pushing the
previous commits (or I pushed the wrong commits). This one fixes it.
- Return {} instead of false in get_discrete_low_bound and
get_discrete_high_bound.
- Compute high bound after confirming low bound is valid in
get_discrete_bounds.
gdb/ChangeLog:
* gdbtypes.c (get_discrete_low_bound, get_discrete_high_bound):
Return {} instead of false.
(get_discrete_bounds): Compute high bound only if low bound is
valid.
Change-Id: I5f9a66b3672adfac9441068c899ab113ab2c331a
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 7 | ||||
-rw-r--r-- | gdb/gdbtypes.c | 14 |
2 files changed, 15 insertions, 6 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 0e01628..afdfc77 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,10 @@ +2020-12-09 Simon Marchi <simon.marchi@polymtl.ca> + + * gdbtypes.c (get_discrete_low_bound, get_discrete_high_bound): + Return {} instead of false. + (get_discrete_bounds): Compute high bound only if low bound is + valid. + 2020-12-09 Simon Marchi <simon.marchi@efficios.com> PR 26875, PR 26901 diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c index 9a17008..3e489fd 100644 --- a/gdb/gdbtypes.c +++ b/gdb/gdbtypes.c @@ -1093,7 +1093,7 @@ get_discrete_low_bound (struct type *type) case TYPE_CODE_INT: if (TYPE_LENGTH (type) > sizeof (LONGEST)) /* Too big */ - return false; + return {}; if (!type->is_unsigned ()) return -(1 << (TYPE_LENGTH (type) * TARGET_CHAR_BIT - 1)); @@ -1103,7 +1103,7 @@ get_discrete_low_bound (struct type *type) return 0; default: - return false; + return {}; } } @@ -1160,7 +1160,7 @@ get_discrete_high_bound (struct type *type) case TYPE_CODE_INT: if (TYPE_LENGTH (type) > sizeof (LONGEST)) /* Too big */ - return false; + return {}; if (!type->is_unsigned ()) { @@ -1179,7 +1179,7 @@ get_discrete_high_bound (struct type *type) } default: - return false; + return {}; } } @@ -1189,9 +1189,11 @@ bool get_discrete_bounds (struct type *type, LONGEST *lowp, LONGEST *highp) { gdb::optional<LONGEST> low = get_discrete_low_bound (type); - gdb::optional<LONGEST> high = get_discrete_high_bound (type); + if (!low.has_value ()) + return false; - if (!low.has_value () || !high.has_value ()) + gdb::optional<LONGEST> high = get_discrete_high_bound (type); + if (!high.has_value ()) return false; *lowp = *low; |