|
From: | Matthew Woehlke |
Subject: | Re: [CFT] sed prerelease on alpha.gnu.org |
Date: | Wed, 29 Apr 2009 18:44:54 -0500 |
User-agent: | Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.8.1.21) Gecko/20090320 Fedora/2.0.0.21-1.fc10 Thunderbird/2.0.0.21 Mnenhy/0.7.5.0 |
Eric Blake wrote:
According to Matthew Woehlke on 4/29/2009 1:07 PM:FYI: adding the autoconf check to turn on c99 mode is broken; autoconf picks up -qlanglvl=ansi from the ANSI c89 check, and doesn't know how to try alternatives (this affects other GNU packages as well, most notably coreutils).Can you reformulate this paragraph so that it can serve as a bug report against Autoconf and/or other affected GNU packages? IOW: what exactly is broken, using AC_PROG_CC_C99 after AC_PROG_CC_C89?I've no idea. I just know that at least coreutils does it in such a way that configure doesn't figure out to use either of -qlanglvl={std,ext}c99. And that I've seen the same thing in other packages.It may also have something to do with this statement of yours:However, it seems said compiler also has no stdbool.h, and so the (broken) replacement header is still used, ergo the original problem is not solved.C99 requires stdbool.h, but there have been other reports of people where this one aspect of C99 is missing, and as a result, the entire AC_PROG_CC_C99 fails to enable the remaining supported C99 features. Maybe some improvements can be made in that area.
Are you sure? If I do CC='cc -qlanglvl=stdc99': checking for cc -qlanglvl=stdc99 option to accept ISO C89... none needed checking for cc -qlanglvl=stdc99 option to accept ISO C99... none needed...so according to the output of configure, at least, this is being accepted as sufficient.
Without that: checking for cc option to accept ISO C89... -qlanglvl=ansi checking for cc -qlanglvl=ansi option to accept ISO C99... unsupported ...which seems to be a bug. (Above tests done with configure from coreutils 7.2 release tarball.)
Also a question - does your compiler support _Bool, even though it lacks stdbool.h?
Dunno. It accepted this program: int main() { _Bool foo; return 0; }(Further, it accepts it with -qlanglvl=stdc99, but with -qlanglvl=ansi, it errors with "line 2.1: 1506-045 (S) Undeclared identifier _Bool".)
Anything else in particular you want me to check for?(I sort-of mentioned this already, but the replacement stdbool.h doesn't try to use the built-in _Bool when trying to build sed with CC='cc -qlanglvl=stdc99'. I guess it should?)
-- Matthew Please do not quote my e-mail address unobfuscated in message bodies. --This is not a sig. I am too lazy to steal one, perhaps you could loan me yours? -- Unknown
[Prev in Thread] | Current Thread | [Next in Thread] |