On Wed, 2014-10-08 at 08:13 -0400, Jason Merrill wrote: > Actually, it's not clear to me why we need multiple standard levels at > all. What differences are there that aren't directly expressed by new > TAGs and such?
It is mainly for consumers that allow users to interact with the program described through DWARF. For example a debugger might want to know which expressions are valid (e.g. is restrict a keyword or not). This matters for example when someone copy/pastes some expression in the source code from the program to be evaluated at at a certain breakpoint. Another reason is indeed for things that aren't currently expressed in DWARF, but could be derived from other properties. The one that comes to mind wrt C++14 vs C++11 from our recent discussions is the concept of trivially copyable types (earlier c++ versions treats cv-qualified types differently from C++14, which excludes volatile cv-qualified types in certain cases). In that specific case we could of course come up with a proposal to express that property with a DWARF attribute that is language (version) independent, but I don't know if we can identify all such properties for C++14 in time before DWARFv5 is finalized and properly evaluate it in implementations to make the need for consumers to distinguish between different versions of the source language moot. Cheers, Mark _______________________________________________ Dwarf-Discuss mailing list Dwarf-Discuss@lists.dwarfstd.org http://lists.dwarfstd.org/listinfo.cgi/dwarf-discuss-dwarfstd.org