Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!seismo!husc6!cmcl2!brl-adm!brl-smoke!gwyn From: gwyn@brl-smoke.ARPA (Doug Gwyn ) Newsgroups: comp.lang.c Subject: Re: VMS 'C' prototypes Message-ID: <6340@brl-smoke.ARPA> Date: Wed, 26-Aug-87 00:06:06 EDT Article-I.D.: brl-smok.6340 Posted: Wed Aug 26 00:06:06 1987 Date-Received: Thu, 27-Aug-87 06:14:44 EDT References: <434@naucse.UUCP> Reply-To: gwyn@brl.arpa (Doug Gwyn (VLD/VMB) ) Organization: Ballistic Research Lab (BRL), APG, MD. Lines: 19 Keywords: Prototypes, VMS 'C' In article <434@naucse.UUCP> jdc@naucse.UUCP (John Campbell) writes: >Should old and new style definitions yield different behaviors? They do in many circumstances. The next X3J11 public review package should have more examples to clarify this. >Is this the expected way to implement prototypes? More or less, except that considering a (float) to be assignment-compatible with a (char**) seems to stretch matters a bit. I think the documentation was pretty accurate, but the rules on this have changed somewhat, so you should avoid pushing the compiler into the dark corners of the spec in this regard. If you're going to use prototypes, use them everywhere and don't depend on the automatic parameter coercion (it should work in all "sane" cases, but I think it's better style to use explicit casts, to let the future code reader know what is going on and that you really did intend it).