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