On Mon, Oct 24, 2016 at 10:29 AM, Jakub Jelinek <ja...@redhat.com> wrote: > This is another addition in DWARF5. The patch emits these attributes > only for DW_TAG_subprogram for non-static ref-qualified member functions. > Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk?
OK. > We really should emit it also for DW_TAG_subroutine_type for PMF types, > the problem is that for FUNCTION_TYPE/METHOD_TYPE, dwarf2out.c uses > type_main_variant and get_qualified_type, neither of them understand > ref-qualifies. I think we'd need to change get_qualified_type to use > some lang-hook which for C++ would also check the ref qualifiers, and then > for these two avoid type_main_variant and instead use get_qualified_type > to get the non-const/volatile/restrict etc. qualified one (and only then > we can use the decl_dwarf_attribute langhook to ask the FE whether the > attribute should be emitted). Does that make sense, or do you have another > approach? Can we pull out the ref-qualifier before we clobber the qualifiers on the type? > Is it ok to use decl_dwarf_attribute langhook for that, or > do we need type_dwarf_attribute? I think it's fine to use the same langhook, but we probably want to rename it. Jason