On Tue, May 20, 2014 at 10:43:22AM -0400, Jason Merrill wrote: > On 05/20/2014 02:55 AM, Mark Wielaard wrote: > >On Mon, May 19, 2014 at 04:50:35PM -0400, Jason Merrill wrote: > >>On 05/13/2014 03:21 AM, Mark Wielaard wrote: > >>>So the debugger doesn't have to guess the properties of the enum's > >>>underlying base type, like size, encoding and signedness. > >> > >>Well, the enum already has DW_AT_byte_size. It seems to me that it should > >>also have DW_AT_encoding to provide the other two properties you mention. > > > >Right, that is the idea, since an enum doesn't provide those attributes, > >it should have a reference to the underlying base type that provides them. > > Yes, but why is that better than providing them directly?
Because that would loose the information of which underlying type is used to implement the enum. And it is probably less efficient to replicate all the attributes for each enum. It is also simply how the DWARF standard specifies these properties. They are not attached to the DW_TAG_enumeration_type directly but specified through the underlying type. Which is what gdb expects now. The DWARF part isn't what this patch is blocked on. That has already been discussed on the DWARF standard list, coordinated with the gdb hackers and approved some months ago. The part that hasn't been reviewed and approved yet is the frontend changes that implement the lang-hook. Thanks, Mark