From owner-freebsd-current Mon Sep 4 22:34:18 1995 Return-Path: current-owner Received: (from majordom@localhost) by freefall.freebsd.org (8.6.11/8.6.6) id WAA02936 for current-outgoing; Mon, 4 Sep 1995 22:34:18 -0700 Received: from who.cdrom.com (who.cdrom.com [192.216.222.3]) by freefall.freebsd.org (8.6.11/8.6.6) with ESMTP id WAA02817 ; Mon, 4 Sep 1995 22:33:16 -0700 Received: from phaeton.artisoft.com (phaeton.Artisoft.COM [198.17.250.211]) by who.cdrom.com (8.6.11/8.6.11) with ESMTP id LAA13989 ; Mon, 4 Sep 1995 11:11:19 -0700 Received: (from terry@localhost) by phaeton.artisoft.com (8.6.11/8.6.9) id LAA21773; Mon, 4 Sep 1995 11:04:41 -0700 From: Terry Lambert Message-Id: <199509041804.LAA21773@phaeton.artisoft.com> Subject: Re: eBones Changes coming soon! To: bde@zeta.org.au (Bruce Evans) Date: Mon, 4 Sep 1995 11:04:41 -0700 (MST) Cc: mal@algonet.se, terry@lambert.org, committers@FreeBSD.org, current@FreeBSD.org, mark@grondar.za In-Reply-To: <199509040805.SAA14279@godzilla.zeta.org.au> from "Bruce Evans" at Sep 4, 95 06:05:11 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: 1277 Sender: current-owner@FreeBSD.org Precedence: bulk > >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). > > An ANSI compiler must also do type conversions of the args if a > prototype is in scope, and it can use a parameter passing convention > better suited to the arg types. It can do this if there is a prototype in scope; the declaration itself doesn't need it. Yeah, this means you need to be careful to include the prototype containing header in the file declaring the function, but this is hardly a hardship. > >The only valid argument for prototypes in the function declarations > >themselves is so you can compile the kernel with C++, which is not > > The following arguments are sometimes given: > > 1) For static functions, it the prototype need not be declared separately > from the function if the function is defined before it is referenced. > 2) It is possible to pass chars and shorts without promotion. > > These are actually counter-arguments :-). 8-). Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers.