From owner-freebsd-current Mon Sep 4 01:10:44 1995 Return-Path: current-owner Received: (from majordom@localhost) by freefall.FreeBSD.org (8.6.11/8.6.6) id BAA21476 for current-outgoing; Mon, 4 Sep 1995 01:10:44 -0700 Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.2.228.34]) by freefall.FreeBSD.org (8.6.11/8.6.6) with ESMTP id BAA21466 ; Mon, 4 Sep 1995 01:10:30 -0700 Received: (from bde@localhost) by godzilla.zeta.org.au (8.6.9/8.6.9) id SAA14279; Mon, 4 Sep 1995 18:05:11 +1000 Date: Mon, 4 Sep 1995 18:05:11 +1000 From: Bruce Evans Message-Id: <199509040805.SAA14279@godzilla.zeta.org.au> To: mal@algonet.se, terry@lambert.org Subject: Re: eBones Changes coming soon! Cc: committers@freebsd.org, current@freebsd.org, mark@grondar.za 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. >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 :-). Bruce