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

Reply via email to