Skip site navigation (1)Skip section navigation (2)
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>