On Sat, Jul 4, 2015 at 11:18 PM, <arn...@skeeve.com> wrote: > Jim Meyering <j...@meyering.net> wrote: > >> and moved >> some declarations "down". > > Can we keep delcarations C89 style please? Gawk still supports > some environments that don't allow declarations in the middle > of executable code.
For coreutils, in 2006 I began maintaining a c99-to-c89.diff patch, keeping the sources more readable/maintainable with decl-after-stmt, yet letting those who find the need to build with old compilers first apply the patch. In 2009, I cut the cord and stopped maintaining that file altogether, because then, there were so few systems (and none a "reasonable portability target") for which no usable compiler was available. If you'd like to provide that service for gawk, I suggest you do what I did with that c99-to-c89.diff patch. There were a few Makefile rules to un-fuzz the patches. Here's what coreutils' README says, now: *********************** Pre-C99 build failure ----------------------- There is a new, implicit build requirement: To build the coreutils from source, you should have a C99-conforming compiler, due to the use of declarations after non-declaration statements in several files in src/. There is code in configure to find and, if possible, enable an appropriate compiler. However, if configure doesn't find a C99 compiler, it continues nonetheless, and your build will fail. If that happens, simply[*] apply the included patch using the following command, and then run make again: cd src && patch < c99-to-c89.diff [*] however, as of coreutils-7.1, the "c99-to-c89.diff" file is no longer maintained, so even if the patches still apply, the result will be an incomplete conversion. It's been 10 years. Get a decent compiler! ;-)