On Tue, Jul 24, 2018 at 4:41 PM Jakub Jelinek <ja...@redhat.com> wrote:
>
> On Tue, Jul 24, 2018 at 04:33:30PM +0200, Richard Biener wrote:
> > DW_OP_GNU_variable_value you mean.  That's true.  But I was talking about
>
> Sure.
>
> > omitting DW_AT_upper_bound which would correspond to int[] vs.
> > a empty location list DW_AT_upper_bound which would correspond to
> > int[<something>].
>
> I think that is fine to differentiate.
>
> > Not sure if that is how it behaves (well, gdb still doesn't support
> > DW_OP_GNU_variable_value).  Related is probably that I wanted to have
> > debug info of VLAs in the abstract instance so we'd have a
> > DW_OP_GNU_variable_value
> > of a DIE in the abstract instance (with no location) and the concrete 
> > instance
> > DIE of the refered to DIE would only be related to it via its
> > DW_AT_abstract_origin
> > attribute.  Ideally that would just work but given lacking gdb support
> > I couldn't
> > figure that out and thus we re-emit the whole type in the concrete 
> > instances...
>
> The intent was that the debugger would do similar thing as if the user at that
> point asked for the value of that (integral) variable, whatever it would
> print would be just pushed to the DWARF stack.

OK, that is definitely exactly what I was hoping for.  I guess I
should contribute
a example like those in the DWARF specs with source and abstract instance
vs. inline instance for example with intended behavior so you can amend your
proposal.

> Not sure how far are the GDB folks with the DW_OP_GNU_variable_value
> support.

No idea - maybe Tom can help out here as well.

Richard.

>         Jakub

Reply via email to