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