[PATCH v4 02/13] type: add c99 variable length array support
Tom Tromey
tromey@redhat.com
Wed Jan 15 21:07:00 GMT 2014
>>>>> "Sanimir" == Sanimir Agovic <sanimir.agovic@intel.com> writes:
Sanimir> +int
Sanimir> +dwarf2_evaluate_property (const struct dynamic_prop *prop, CORE_ADDR address,
Sanimir> + CORE_ADDR *value)
Sanimir> +{
[...]
Sanimir> + if (!value_optimized_out (val))
Sanimir> + *value = value_as_long (value_ind (val));
Sanimir> + }
Sanimir> + return 1;
This particular branch can return 1 but not set *value.
That seems wrong.
Sanimir> + else if (attr_form_is_block (target_attr))
Sanimir> + {
Sanimir> + const gdb_byte ops[] = {DW_OP_deref};
Sanimir> +
Sanimir> + baton = obstack_alloc (obstack, sizeof (*baton));
Sanimir> + baton->locexpr = block_to_locexpr_baton (DW_BLOCK (target_attr),
Sanimir> + cu, ops, sizeof (ops));
I noted in an earlier review that I think this approach will not work.
Not sure if I'm misunderstanding something; but I dug up the old thread
and you didn't respond to this bit:
https://sourceware.org/ml/gdb-patches/2013-11/msg00785.html
The rest of this seemed fine to me.
Tom
More information about the Gdb-patches
mailing list