Re: AC_C_NORETURN macro?

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

 



On 2012-04-29 16:19:35 +0200, Bruno Haible wrote:
> Vincent Lefevre wrote:
> > modules/snippet/_Noreturn references build-aux/snippet/_Noreturn.h,
> > which is:
> > 
> > #ifndef _Noreturn
> > # if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \
> >       || 0x5110 <= __SUNPRO_C)
> > #  define _Noreturn __attribute__ ((__noreturn__))
> > # elif 1200 <= _MSC_VER
> > #  define _Noreturn __declspec (noreturn)
> > # else
> > #  define _Noreturn
> > # endif
> > #endif
> > 
> > but I don't see how it can be correct on a non-GCC non-SunPro C11
> > implementation: _Noreturn would get defined to nothing; the code
> > would be valid, but the C11 _Noreturn function specifier would not
> > be used.
> 
> If we get to know a different compiler which support _Noreturn but
> does not have a working <stdnoreturn.h> file, we can add it to the
> #ifs here.

But I don't like the fact that you assume by default that compilers
are non-conforming. However the C committed is partly in fault by not
providing a macro (e.g. __STDC_NORETURN__) to check whether _Noreturn
is supported with a #if (for the C99 -> C11 transition).

-- 
Vincent Lefèvre <vincent@xxxxxxxxxx> - Web: <http://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <http://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)

_______________________________________________
Autoconf mailing list
Autoconf@xxxxxxx
https://lists.gnu.org/mailman/listinfo/autoconf



[Index of Archives]     [GCC Help]     [Kernel Discussion]     [RPM Discussion]     [Red Hat Development]     [Yosemite News]     [Linux USB]     [Samba]

  Powered by Linux