This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r218075 - in /trunk: gcc/ChangeLog gcc/dwarf2ou...
- From: mark at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Wed, 26 Nov 2014 10:10:27 -0000
- Subject: r218075 - in /trunk: gcc/ChangeLog gcc/dwarf2ou...
Author: mark
Date: Wed Nov 26 10:10:27 2014
New Revision: 218075
URL: https://gcc.gnu.org/viewcvs?rev=218075&root=gcc&view=rev
Log:
DWARF add DW_AT_noreturn on noreturn function subprogram.
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
gcc/ChangeLog
* dwarf2out.c (gen_subprogram_die): Add DW_AT_noreturn when the
function decl has TREE_THIS_VOLATILE.
gcc/testsuite/ChangeLog
* g++.dg/debug/dwarf2/noreturn-function.C: New test.
* gcc.dg/debug/dwarf2/noreturn-function-attribute.c: Likewise.
* gcc.dg/debug/dwarf2/noreturn-function-keyword.c: Likewise.
include/ChangeLog
* dwarf2.def (DW_AT_noreturn): New DWARF5 attribute.
Added:
trunk/gcc/testsuite/g++.dg/debug/dwarf2/noreturn-function.C
trunk/gcc/testsuite/gcc.dg/debug/dwarf2/noreturn-function-attribute.c
trunk/gcc/testsuite/gcc.dg/debug/dwarf2/noreturn-function-keyword.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/dwarf2out.c
trunk/gcc/testsuite/ChangeLog
trunk/include/ChangeLog
trunk/include/dwarf2.def