[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: coreutils-6.5: yet another C89 problem

From: Jim Meyering
Subject: Re: coreutils-6.5: yet another C89 problem
Date: Tue, 28 Nov 2006 08:43:53 +0100

address@hidden (Bob Proulx) wrote:
> Paul Eggert wrote:
>> Matthew Woehlke <address@hidden> writes:
>> > I could probably do it on
>> > this box, but since it's Linux, it would still be with gcc.
>> Even that would be helpful, since our current buildbot doesn't do the
>> particular combination of GCC options you're interested in.
> I would be happy to add a special-options-build to the buildbot to
> check for c89 compatibility.  I will patch in the c99-to-c89.diff
> first of course.  What options would be required for this?  Is
> "-Wdeclaration-after-statement -Werror" sufficient?

Hi Bob,

Here's what Paul just added to Makefile.maint.
That should do it, as long as you do that build
on a relatively modern Linux system:

    $ grep -C2 ansi Makefile.maint
              && (cd src && patch -V never --fuzz=0 <c99-to-c89.diff) \
              && ./configure --disable-largefile            \
                  CFLAGS='-Werror -ansi -pedantic -Wno-long-long' \
              && $(MAKE)
            -rm -rf $(t)

Another one that'd be nice to automate (though not as important,
so could be run far less frequently) is the "configure-without-NLS-
then-compile-with-Wformat", from the preceding "my-distcheck" rules,
in Makefile.maint:

          && ./configure --disable-nls                  \
          && $(MAKE) CFLAGS='-Werror -Wall -Wformat -Wshadow -Wpointer-arith' \
              AM_MAKEFLAGS='$(null_AM_MAKEFLAGS)'       \

Its purpose is to ensure that all format strings match the types of
their arguments.  The only catch is that your tools/headers need to
be at some minimum level.  I haven't tried running "make distcheck"
on anything other than my bleeding-edge system.  You wouldn't need to
bother with null_AM_MAKEFLAGS.

Thanks for doing that!

reply via email to

[Prev in Thread] Current Thread [Next in Thread]