+2020-09-30 Tom Tromey <tromey@adacore.com>
+
+ * dwarf2/read.c (handle_variant): Use constant_value.
+
2020-09-29 Tom Tromey <tom@tromey.com>
* dwarf2/read.c (lookup_dwo_id, get_type_unit_group)
/* In a variant we want to get the discriminant and also add a
field for our sole member child. */
struct attribute *discr = dwarf2_attr (die, DW_AT_discr_value, cu);
- if (discr == nullptr)
+ if (discr == nullptr || !discr->form_is_constant ())
{
discr = dwarf2_attr (die, DW_AT_discr_list, cu);
if (discr == nullptr || discr->as_block ()->size == 0)
variant.discr_list_data = discr->as_block ();
}
else
- variant.discriminant_value = discr->as_unsigned ();
+ variant.discriminant_value = discr->constant_value (0);
for (die_info *variant_child = die->child;
variant_child != NULL;