Fix pretty printer of main_type.flds_bnds.bounds

In struct dynamic_prop the members kind and data were renamed to m_kind and
m_data.

And flag_upper_bound_is_count is actually in bounds directly, not in its
high member.

gdb/ChangeLog:

2021-01-02  Hannes Domani  <ssbssa@yahoo.de>

	* gdb-gdb.py.in: Fix main_type.flds_bnds.bounds pretty printer.
This commit is contained in:
Hannes Domani 2021-01-02 17:35:25 +01:00
parent 4258df85f1
commit b66b4e658f
2 changed files with 10 additions and 5 deletions

View File

@ -1,3 +1,7 @@
2021-01-02 Hannes Domani <ssbssa@yahoo.de>
* gdb-gdb.py.in: Fix main_type.flds_bnds.bounds pretty printer.
2021-01-01 Joel Brobecker <brobecker@adacore.com>
* gdbarch.sh: Update copyright year range.

View File

@ -183,17 +183,18 @@ class StructMainTypePrettyPrinter:
def bound_img(self, bound_name):
"""Return an image of the given main_type's bound."""
b = self.val['flds_bnds']['bounds'].dereference()[bound_name]
bnd_kind = str(b['kind'])
bounds = self.val['flds_bnds']['bounds'].dereference()
b = bounds[bound_name]
bnd_kind = str(b['m_kind'])
if bnd_kind == 'PROP_CONST':
return str(b['data']['const_val'])
return str(b['m_data']['const_val'])
elif bnd_kind == 'PROP_UNDEFINED':
return '(undefined)'
else:
info = [bnd_kind]
if bound_name == 'high' and b['flag_upper_bound_is_count']:
if bound_name == 'high' and bounds['flag_upper_bound_is_count']:
info.append('upper_bound_is_count')
return '{} ({})'.format(str(b['data']['baton']), ','.join(info))
return '{} ({})'.format(str(b['m_data']['baton']), ','.join(info))
def bounds_img(self):
"""Return an image of the main_type bounds.