On Fri, Sep 21, 2012 at 4:21 PM, Adrian Bunk <b...@stusta.de> wrote: > On Fri, Sep 21, 2012 at 03:59:14PM +0300, Andrew W. Nosenko wrote: >> On Fri, Sep 21, 2012 at 12:13 PM, Adrian Bunk <b...@stusta.de> wrote: >> > On Fri, Sep 21, 2012 at 11:18:03AM +0300, Andrew W. Nosenko wrote: >> >> On Fri, Sep 21, 2012 at 8:20 AM, Paul Eggert <egg...@cs.ucla.edu> wrote: >> >> > Yup, macros that invoke AC_PROG_CC_C89 and AC_PROG_CC_C99 >> >> > are trouble. They're trouble now, and they'll continue to >> >> > be trouble. It's not clear how to fix this, other than >> >> > to advise people to avoid those macros, which the patch >> >> > does in the manual. >> >> > >> >> >> >> OK. Assuming that AC_PROG_CC_C99 deprecated and then removed, how I >> >> supposed to express "give me c99 or higher compiler or raise error if >> >> there only c89 or lower compiler found"? In another words: How can I >> >> set the _lower_ bound of C standard support, after that configure >> >> should stop trying and just raises an error? >> > >> > The problem here are the exact semantics of "c99 or higher compiler". >> > >> > Take gcc as an example: >> > - in it's default (non-strict) C89 mode it supports some C99 >> > features like "long long int" >> > - no version of gcc so far supports C99 completely [1] >> > >> > What exactly are your usecases where you need to know the mode of the >> > compiler, and not whether some specific C99 features are supported? >> >> Semantics is the same as for AC_PROG_CC_STDC in respect to pre ANSI C >> compilers. AFAIK it scans down to c89 and stops rejecting the >> K&R-only compilers. > > Wrong, AC_PROG_CC_STDC does not reject any compilers. > Neither does AC_PROG_CC_C99. > > They set a variables where you can use to check whether autoconf > succeeded to bring the compiler into the requested mode or not. > > If you assume in you configure.ac that AC_PROG_CC_C99 fails on pre-C99 > compilers that's a bug you have to fix. > > Note that K&R compilers are no longer an issue today, so no need to test > for them. > >> Just fast forward in minds some years further. c89 will be so ancient >> that it will be simplier just to drop it completely than try to >> workaround, same as today projects just prefer to ask user to upgrade >> compiler than play the game with unprotoize. >> >> Or, you asked "after what what compiler (plus language support >> library) should be considered as enough close to c99 for be counted as >> c99"? >> For me, the AC_PROG_CC_99 was good enough in that respect. > > You have ensured not to use any C99 features not tested by > AC_PROG_CC_C99 in your code? >
Are you indeed belive in compiler, which claims to be c99 and doesn't support _Bool and variadic macros? -- Andrew W. Nosenko <andrew.w.nose...@gmail.com>