cvs commit: src/sys/sys cdefs.h

Bruce Evans bde at zeta.org.au
Fri Oct 31 05:34:58 PST 2003


On Fri, 31 Oct 2003, Ruslan Ermilov wrote:

> On Fri, Oct 31, 2003 at 11:15:40PM +1100, Bruce Evans wrote:
> > ...
> > While it is good to check for warnings in system headers, this shouldn't
> > be forced on everyone.  Applications that want to check for the non-error
> > of using undefined identifiers in cpp expressions shouldn't enable
> > warnings in system headers unless they want to get warnings if the headers
> > use this standard C feature (and other warnings).  Applications in the src
> > tree won't do this.
> >
> What's the underlying issue here?  I always thought that FreeBSD is different
> from GNU is this respect -- we treat our system as the whole, so the piece
> of code is as clean as its worst part; that may be a system header, too.
> Remember the issue?  Old versions of buildworld used -nostdinc hack and
> -I... to ${WORLDTMP}/usr/include, and it caused WARNS to be generating
> different warnings while in buildworld compared to a normal (no -nostdinc)
> build.  I'm against reverting the toplev.c change, but it also made the
> sys.mk part redundant, so the latter may be reverted now.

The system shouldn't have to satisfy cleanness standards of applications
that are not maintained by FreeBSD, especially when those standards
are bogus (e.g., compiling cleanly with -Wundef).  Hopefull all the
important corner cases in the system headers are tested by buildworld
so that we don't need to enlist the application maintainers to find bugs
in system headers.

Bruce


More information about the cvs-src mailing list