diff options
author | Tom Tromey <tromey@adacore.com> | 2023-03-01 07:59:44 -0700 |
---|---|---|
committer | Tom Tromey <tromey@adacore.com> | 2023-03-01 15:33:03 -0700 |
commit | 802dace16f8c6dfa3200381669015a7dccbd5e28 (patch) | |
tree | 76652917f134ef6ca29769db06e49367e51605dc /gdb/gdbtypes.h | |
parent | 6e1ee99772d2f0c07b4a2c65f3c1593fbf55d9c1 (diff) | |
download | gdb-802dace16f8c6dfa3200381669015a7dccbd5e28.zip gdb-802dace16f8c6dfa3200381669015a7dccbd5e28.tar.gz gdb-802dace16f8c6dfa3200381669015a7dccbd5e28.tar.bz2 |
Make gdb property batons type-safe
gdbtypes treats dynamic property batons as 'void *', but in actuality
the only users all use dwarf2_property_baton. This patch changes this
code to be type-safe. If a new type is needed here, it seems like
that too could be done in a type-safe way.
Approved-By: Simon Marchi <simon.marchi@efficios.com>
Diffstat (limited to 'gdb/gdbtypes.h')
-rw-r--r-- | gdb/gdbtypes.h | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h index c225331..701a64d 100644 --- a/gdb/gdbtypes.h +++ b/gdb/gdbtypes.h @@ -64,6 +64,7 @@ struct value_print_options; struct language_defn; struct dwarf2_per_cu_data; struct dwarf2_per_objfile; +struct dwarf2_property_baton; /* Some macros for char-based bitfields. */ @@ -289,7 +290,7 @@ union dynamic_prop_data /* Storage for dynamic property. */ - void *baton; + dwarf2_property_baton *baton; /* Storage of variant parts for a type. A type with variant parts has all its fields "linearized" -- stored in a single field @@ -339,7 +340,7 @@ struct dynamic_prop m_data.const_val = const_val; } - void *baton () const + dwarf2_property_baton *baton () const { gdb_assert (m_kind == PROP_LOCEXPR || m_kind == PROP_LOCLIST @@ -348,19 +349,19 @@ struct dynamic_prop return m_data.baton; } - void set_locexpr (void *baton) + void set_locexpr (dwarf2_property_baton *baton) { m_kind = PROP_LOCEXPR; m_data.baton = baton; } - void set_loclist (void *baton) + void set_loclist (dwarf2_property_baton *baton) { m_kind = PROP_LOCLIST; m_data.baton = baton; } - void set_addr_offset (void *baton) + void set_addr_offset (dwarf2_property_baton *baton) { m_kind = PROP_ADDR_OFFSET; m_data.baton = baton; |