From owner-freebsd-current Wed Jul 18 3:48:43 2001 Delivered-To: freebsd-current@freebsd.org Received: from salmon.maths.tcd.ie (salmon.maths.tcd.ie [134.226.81.11]) by hub.freebsd.org (Postfix) with SMTP id D6C8B37B401; Wed, 18 Jul 2001 03:48:39 -0700 (PDT) (envelope-from dwmalone@maths.tcd.ie) Received: from walton.maths.tcd.ie by salmon.maths.tcd.ie with SMTP id ; 18 Jul 2001 11:48:39 +0100 (BST) To: obrien@freebsd.org Cc: current@freebsd.org Subject: Re: Make world hosed ? In-reply-to: Your message of "Tue, 17 Jul 2001 16:18:09 PDT." <20010717161809.A79677@dragon.nuxi.com> X-Request-Do: Date: Wed, 18 Jul 2001 11:48:38 +0100 From: David Malone Message-ID: <200107181148.aa00878@salmon.maths.tcd.ie> Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG > On Tue, Jul 17, 2001 at 07:55:18PM +0100, David Malone wrote: > > I suspect that this is my fault for not doing a buildworld after > > turning on WARNS stuff in inetd. > YES! Why are you committing these "very easy to break the build, as > we've seen" changes w/o full `make buildworld' testing?!? I should have been more careful, but I actually tested the change on the i386 and alpha and checked that it didn't produce any code changes. Unfortunately, gcc has an undocumented feature of ignoring some warnings in system C header files. (Maybe this feature has been there for years, but the fact that gcc gives out about system header files is something that's caused problems for me before.) I would have thought that any file included with #include <...> would count as a system header file, but it seems gcc has some other criteron for deciding. I've managed to trace it back to cpp writing out lines like: # 1 "/usr/include/tcpd.h" 1 3 where the "3" at the end seems to mean a system header file. And in tradcpp.c it seems to set a varible system_header_p if the include is a <...> as opposed to a "...", but I haven't found out where the "3" comes from yet. Ahh - I'm looking at the wrong gcc sources. The 2.95.3 sources (which uses the old gcc cpp) decides if something is a system include based on examining a list which doesn't seem to get initialised if you say "-nostdinc". The newer gcc sources (2.96.20000711 with the new cpp) seem to do the <...> vs. "..." thing. David. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message