Date: Wed, 7 Dec 2011 14:11:34 -0500 From: David Schultz <das@FreeBSD.ORG> To: David Chisnall <theraven@FreeBSD.ORG> Cc: svn-src-head@FreeBSD.ORG, svn-src-all@FreeBSD.ORG, src-committers@FreeBSD.ORG Subject: Re: svn commit: r228322 - in head: include lib/libc/stdlib sys/sys Message-ID: <20111207191134.GA20850@zim.MIT.EDU> In-Reply-To: <201112071525.pB7FPmkH044896@svn.freebsd.org> References: <201112071525.pB7FPmkH044896@svn.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Dec 07, 2011, David Chisnall wrote: > Author: theraven > Date: Wed Dec 7 15:25:48 2011 > New Revision: 228322 > URL: http://svn.freebsd.org/changeset/base/228322 > > Log: > Implement quick_exit() / at_quick_exit() from C++11 / C1x. Also add a > __noreturn macro and modify the other exiting functions to use it. > > The __noreturn macro, unlike __dead2, must be used BEFORE the function. > This is in line with the C and C++ specifications that place _Noreturn (c1x) > and [[noreturn]] (C++11) in front of the functions. As with __dead2, this > macro falls back to using the GCC attribute. > > Unfortunately, clang currently sets the same value for the C version macro > in C99 and C1x modes, so these functions are hidden by default. At some > point before 10.0, I need to go through the headers and clean up the C1x / > C++11 visibility. Nice. Why not use the standard spelling, '_Noreturn'? In pre-C1X modes, _Noreturn is a reserved identifier since it starts with an underscore and capital letter, so it's not considered namespace pollution.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20111207191134.GA20850>