From: Simon Marchi Date: Wed, 9 Dec 2020 19:49:02 +0000 (-0500) Subject: gdb: address review comments of previous series X-Git-Tag: gdb-10.2-release~171 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=969da52cb04effd49b937f5f1754e0f4b84809b7;p=thirdparty%2Fbinutils-gdb.git 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 --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 0b08eaf17e8..dd13414863a 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,10 @@ +2020-12-09 Simon Marchi + + * 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 PR 26875, PR 26901 diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c index 9cd7992c8c9..6c1cd08532e 100644 --- a/gdb/gdbtypes.c +++ b/gdb/gdbtypes.c @@ -1081,7 +1081,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_UNSIGNED (type)) return -(1 << (TYPE_LENGTH (type) * TARGET_CHAR_BIT - 1)); @@ -1091,7 +1091,7 @@ get_discrete_low_bound (struct type *type) return 0; default: - return false; + return {}; } } @@ -1148,7 +1148,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_UNSIGNED (type)) { @@ -1167,7 +1167,7 @@ get_discrete_high_bound (struct type *type) } default: - return false; + return {}; } } @@ -1177,9 +1177,11 @@ bool get_discrete_bounds (struct type *type, LONGEST *lowp, LONGEST *highp) { gdb::optional low = get_discrete_low_bound (type); - gdb::optional high = get_discrete_high_bound (type); + if (!low.has_value ()) + return false; - if (!low.has_value () || !high.has_value ()) + gdb::optional high = get_discrete_high_bound (type); + if (!high.has_value ()) return false; *lowp = *low;