bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: AC_C_NORETURN macro?


From: Nick Bowler
Subject: Re: AC_C_NORETURN macro?
Date: Thu, 26 Apr 2012 12:08:50 -0400
User-agent: Mutt/1.5.21 (2010-09-15)

On 2012-04-26 17:56 +0200, Vincent Lefevre wrote:
> On 2012-04-26 09:15:53 -0600, Eric Blake wrote:
> > On 04/26/2012 09:02 AM, Vincent Lefevre wrote:
> > > On 2012-04-26 08:14:51 -0600, Eric Blake wrote:
> > >> Correct.  _Noreturn is an optimization hint; your code will still
> > >> function correctly if the specifier is not present.  The gnulib choice
> > >> to define it away on problematic systems is intentional.
> > > 
> > > If I understand the gnulib code, gnulib defines it away also on pure
> > > C11 implementations (and not complete implementations that understand
> > > _Noreturn), which are not problematic systems!
> > 
> > You missed an aspect - gnulib only provides a replacement
> > <stdnoreturn.h> header on non-C11 systems; on systems where the system
> > header is compliant, there is no need for gnulib to interject a
> > replacement.  Therefore, under C11, gnulib is not defining anything away.
> 
> Ah, OK.
> 
> But I think that <stdnoreturn.h> is not a solution for MPFR, due to
> the potential clashes with GMP (on which we depend), which uses GCC's
> __attribute__ ((noreturn)). Though this may be fixed in the future,
> problems would still appear with older versions. Thus we should use
> _Noreturn directly, when supported.

Another alternative is to simply make sure that you always include the
GMP headers before including <stdnoreturn.h>.

Cheers,
-- 
Nick Bowler, Elliptic Technologies (http://www.elliptictech.com/)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]