From owner-freebsd-hackers Sun Oct 15 01:20:51 1995 Return-Path: owner-hackers Received: (from root@localhost) by freefall.freebsd.org (8.6.12/8.6.6) id BAA13668 for hackers-outgoing; Sun, 15 Oct 1995 01:20:51 -0700 Received: from irz301.inf.tu-dresden.de (irz301.inf.tu-dresden.de [141.76.1.11]) by freefall.freebsd.org (8.6.12/8.6.6) with ESMTP id BAA13657 ; Sun, 15 Oct 1995 01:20:44 -0700 Received: from sax.sax.de by irz301.inf.tu-dresden.de (8.6.12/8.6.12-s1) with ESMTP id JAA18411; Sun, 15 Oct 1995 09:20:40 +0100 Received: by sax.sax.de (8.6.11/8.6.12-s1) with UUCP id JAA06128; Sun, 15 Oct 1995 09:20:40 +0100 Received: (from j@localhost) by uriah.heep.sax.de (8.6.12/8.6.9) id IAA17881; Sun, 15 Oct 1995 08:52:28 +0100 From: J Wunsch Message-Id: <199510150752.IAA17881@uriah.heep.sax.de> Subject: Re: lint To: freebsd-hackers@FreeBSD.org Date: Sun, 15 Oct 1995 08:52:27 +0100 (MET) Cc: davidg@FreeBSD.org (David Greenman), dyson@FreeBSD.org Reply-To: joerg_wunsch@uriah.heep.sax.de (Joerg Wunsch) In-Reply-To: <199510142250.IAA28055@godzilla.zeta.org.au> from "Bruce Evans" at Oct 15, 95 08:50:34 am X-Phone: +49-351-2012 669 X-Mailer: ELM [version 2.4 PL23] MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit Content-Length: 1856 Sender: owner-hackers@FreeBSD.org Precedence: bulk As Bruce Evans wrote: > > >The newly-built lint buried another bogon out of the depths of the > >header mishmash: we've got a name clash for struct pmap! David? John? I'm wondering about your opinions about struct pmap... > One way to find more bogons than you want to know about is to include > all headers. Another way is to change all typedefs in headers to ones > that are allowed by standards but weird. Portable applications should > still compile cleanly with maximal warnings enabled. The first thing is what i did. I've tossed all the header file #includes and the external declarations out of those files into a single source, and ran it through lint. I've only been using those files that declare external symbols, and in case of the sys/ directory only those that declare things for the !KERNEL case. (List of broken sys/ header files: lodef.h, device.h, rlist.h, systm.h, tprintf.h -- all their function declarations should be #ifdef'ed for KERNEL.) This should ideally yield the interface declarations for libc. Not all of our headers are already self-contained. I need the following list of ``prerequisite headers'': #include #include #include #include #include #include #include Failing to declare them on top will cause several headers to fall over. The rpc/ case is the most iffiest: exactly _this_ sequence is needed, and this is not very obvious. It's not documented in the man pages, unlike the that's often mentioned as a prerequisite in many man pages, or and that are mentioned in the resolver(3) man page. -- cheers, J"org joerg_wunsch@uriah.heep.sax.de -- http://www.sax.de/~joerg/ -- NIC: JW11-RIPE Never trust an operating system you don't have sources for. ;-)