This is the mail archive of the gcc-cvs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]