From owner-freebsd-current Sun Sep 3 15:17:52 1995 Return-Path: current-owner Received: (from majordom@localhost) by freefall.FreeBSD.org (8.6.11/8.6.6) id PAA02807 for current-outgoing; Sun, 3 Sep 1995 15:17:52 -0700 Received: from phaeton.artisoft.com (phaeton.Artisoft.COM [198.17.250.211]) by freefall.FreeBSD.org (8.6.11/8.6.6) with ESMTP id PAA02801 ; Sun, 3 Sep 1995 15:17:46 -0700 Received: (from terry@localhost) by phaeton.artisoft.com (8.6.11/8.6.9) id PAA11657; Sun, 3 Sep 1995 15:12:12 -0700 From: Terry Lambert Message-Id: <199509032212.PAA11657@phaeton.artisoft.com> Subject: Re: eBones Changes coming soon! To: mal@algonet.se (Mats Lofkvist) Date: Sun, 3 Sep 1995 15:12:12 -0700 (MST) Cc: mark@grondar.za, current@FreeBSD.org, committers@FreeBSD.org In-Reply-To: <9509032032.AA12674@sophocles.> from "Mats Lofkvist" at Sep 3, 95 10:32:15 pm X-Mailer: ELM [version 2.4 PL24] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 941 Sender: current-owner@FreeBSD.org Precedence: bulk > Why were ANSI prototypes bad? Just curious. That wasn't a case of ANSI prototypes, it was a case of function declaration. The extern declarations have (and should have) __P(( int a, char *b)) wrappers on them so that an ANSI compiler can do type checking that would be in the linker if anyone could build a linker with any brains (besides Fred Fish's M88k one, I mean). The only valid argument for prototypes in the function declarations themselves is so you can compile the kernel with C++, which is not likely because of other issues (like assembly functions not having compiler specific argument attribute extensions, or linking as a standalone binary with no way to call constructors/destructors for virtual base classes, etc. at startup, or some kernel specific headers not being C++ safe). Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers.