On Mon, 2014-12-01 at 14:31 -0700, Jeff Law wrote:
> On 11/25/14 15:57, Mark Wielaard wrote:
> > This implements the DWARFv5 noreturn proposal:
> > http://dwarfstd.org/ShowIssue.php?issue=140331.1
> >
> > TREE_THIS_VOLATILE on a FUNCTION_DECL node means the function does not
> > return normally. This catches the traditional noreturn GNU attribute,
> > the C11 _Noreturn keyword and the C++11 [[noreturn]] attribute.
> >
> > This relies on the DW_AT_noreturn constant defined in the DWARFv5 DRAFT:
> > http://www.dwarfstd.org/doc/dwarf5.20141029.pdf
> > We could also use a new GNU extension if we don't trust these constants
> > to be stable.
> 
> Presumably we don't have any sense when the values will be assigned, 
> right?  Any chance we could speed that along a bit?

Sadly I have no idea. Officially the DWARF committee hasn't accepted new
proposals since March 2014 for DWARFv5. But some of my proposals have
been accepted anyway as late as last month. There is not really a way to
know when which proposal is submitted or considered for incorporation by
people outside the committee.

There is the above draft that contains the currently assigned constants.
But I don't know when the committee will ask for comments on the draft.
Or how long the comment period will be. I have just asked on the DWARF
mailinglist.

I don't mind using GNU vendor constants instead. But people on the
committee have convinced me it should be fine to use the constants from
the current draft. Given that Jakub, Jason and Cary are all on the DWARF
committee I assume they would yell and scream at me if they believed
using these constants were not stable. Most usage is gated behind the
experimental GCC5 -gdwarf-5 switch anyway (although not this attribute,
which is also emitted in non-strict mode).

BTW. I do make sure to update bintuils, gdb, elfutils and valgrind to
match the GCC5 output, so the constants should at least be consistent
across the GNU toolchain and friends. All GNU and DWARFv5 extensions are
documented: https://fedorahosted.org/elfutils/wiki/DwarfExtensions

Cheers,

Mark

Reply via email to