DWARF Standard


140331.1 Mark Wielaard C11 _Noreturn function specifier attribute DW_AT_noreturn Enhancement Accepted Adrian Prantl

Section 3.3.1, pg 55
C11 introduces the new keyword _Noreturn that can be used as function specifier like 
inline. A function declared with a _Noreturn function specifier shall not return to 
its caller (it causes undefined behavior if it would). Similar functionality is available
in the GNU Toolchain through the noreturn function attribute. It is sometimes useful for 
a debugger to know which functions can only be called, but shall never return.

Figure 2. Attribute names
Add DW_AT_noreturn Specifies a function that doesn't return to its caller.

3.3.1 General Subroutine and Entry Point Information
Add a paragraph at the end saying:
A subprogram entry may have a DW_AT_noreturn attribute, which is a flag. The attribute 
indicates whether the subroutine was declared with the "noreturn" keyword or property 
indicating that the function can be called, but will never return to its caller.

Figure 20. Attribute encodings
Add DW_AT_noreturn 0xXX flag.

Add DW_AT_noreturn to DW_TAG_subprogram.

5/14/2014 -- Accepted.  Value to be assigned by Editor.

All logos and trademarks in this site are property of their respective owner.
The comments are property of their posters, all the rest © 2007-2017 by DWARF Standards Committee.