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>
This commit is contained in:
Tom Tromey
2023-03-01 07:59:44 -07:00
parent 6e1ee99772
commit 802dace16f
2 changed files with 10 additions and 13 deletions

View File

@@ -1649,8 +1649,7 @@ dwarf2_evaluate_property (const struct dynamic_prop *prop,
{
case PROP_LOCEXPR:
{
const struct dwarf2_property_baton *baton
= (const struct dwarf2_property_baton *) prop->baton ();
const struct dwarf2_property_baton *baton = prop->baton ();
gdb_assert (baton->property_type != NULL);
bool is_reference = baton->locexpr.is_reference;
@@ -1692,8 +1691,7 @@ dwarf2_evaluate_property (const struct dynamic_prop *prop,
case PROP_LOCLIST:
{
struct dwarf2_property_baton *baton
= (struct dwarf2_property_baton *) prop->baton ();
struct dwarf2_property_baton *baton = prop->baton ();
CORE_ADDR pc;
const gdb_byte *data;
struct value *val;
@@ -1724,8 +1722,7 @@ dwarf2_evaluate_property (const struct dynamic_prop *prop,
case PROP_ADDR_OFFSET:
{
struct dwarf2_property_baton *baton
= (struct dwarf2_property_baton *) prop->baton ();
struct dwarf2_property_baton *baton = prop->baton ();
const struct property_addr_info *pinfo;
struct value *val;
@@ -1775,8 +1772,7 @@ dwarf2_compile_property_to_c (string_file *stream,
CORE_ADDR pc,
struct symbol *sym)
{
struct dwarf2_property_baton *baton
= (struct dwarf2_property_baton *) prop->baton ();
struct dwarf2_property_baton *baton = prop->baton ();
const gdb_byte *data;
size_t size;
dwarf2_per_cu_data *per_cu;