[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: AC_LANG_PROGRAM(C): function 'main' without prototype
From: |
Ralf Wildenhues |
Subject: |
Re: AC_LANG_PROGRAM(C): function 'main' without prototype |
Date: |
Wed, 25 Jun 2008 19:49:09 +0200 |
User-agent: |
Mutt/1.5.17+20080114 (2008-01-14) |
* Stepan Kasal wrote on Wed, Jun 25, 2008 at 06:26:56PM CEST:
> On Tue, Jun 24, 2008 at 08:14:44PM +0200, Nico R. wrote:
> > AC_LANG_PROGRAM(C) in c.m4 from autoconf:
> > Shouldn’t the line
> > main ()
> > be
> > main (void)
> > instead?
>
> I admit I'm not sure about this. The change would immediately break
> K&R compilers but they are no longer in the target set anyway.
> Let's wait for comments from those who know better. ;-)
Hehe, I don't know better, but I'll take it as "those who think they
should post their opinion anyway". ;->
IIRC, so far Autoconf still mostly supports pre-C89 compilers, even
if maybe not fully. This would be a definite step away from that.
(Stating this without having a strong opinion on it; I simply don't
know how relevant that is to users.)
> > If CFLAGS contains '-Werror’
>
> Well, the configure collects literally bits of information about the
> platform. The bit is 0 or 1, depending on whether the compilation
> (link) failed or not. Using -Werror may skew some results.
Exactly. We cannot get all macros warning-free, even when limiting
ourselves to GCC's warnings. Some of Autoconf's macros necessarily
rely on dubious constructs.
> Generally, while -Werror during "make" makes you more safe, -Werror
> at configure time exposes you to extra risk.
>
> Perhaps we should do something about it. Perhaps ./configure should
> detect -Werror in CFLAGS (and other *FLAGS) and bail out with an
> error message.
I have already forgotten again whether the proposed AC_*_WERROR
improvements also addressed this case: that we have a macro for
which we would like to temporarily turn off -Werror, iff it had
been passed. Even if we had such functionality, though, I'm not
sure we would want to use it in the above case.
Cheers,
Ralf