Subject: Re: The Function Prototypes Debate vs. C9X...
To: Peter Seebach <seebs@solon.com>
From: Greg A. Woods <woods@kuma.web.net>
List: current-users
Date: 02/16/1997 12:00:12
[ On Sun, February 16, 1997 at 00:01:08 (-0600), Peter Seebach wrote: ]
> Subject: The Function Prototypes Debate vs. C9X...
>
> Just a heads up:
> 
> 1.  Implicit int is *gone*.  It is not a feature of C9X; all objects must
> have an implicit type.  For instance, in
> 	foo(a, b, c) {}
> you must now write
> 	int foo(a, b, c) int a, b, c; {}
> ...

I assume you meant "explicit type"? and:

	int foo(int a, int b, int c) {}

;-)

> 2.  Old-style function declarations are very, very likely to be gone; a straw
> poll of voting members was roughly 10-4-3 (for/against/neutral) on the idea
> of removing them from the language spec.

DAMN!  That sucks.  I wish they'd change the name too, since if it won't
correctly compile my old *correct* C code, then it's not C.  Period!
[no smiley!]

> Currently, NetBSD depends to some extent on the happy fact that gcc
> interprets
> 	void foo(float);
> 	void foo(x)
> 		float x;
> 	{
> 	}
> as giving foo an argument type of "float"; this contradicts C89, which
> maintains that the *definition* (the function body/header) claims foo
> takes a double.

Well C89 never really made it into my books as C either!  ;-)

> I am considering proposing this as a change in the language, for easier
> merging of old code, but I doubt it will meet with any support.
> Fundementally, the promotion rules are not what we want in C9X, and if
> we *change* the promotion rules, we have introduced a Quiet Change, which
> we prefer to avoid.

C89 had far too many "quiet changes" for my liking....

C9X *should* undo the mistakes of C89, not perpetuate and extend them.
If you want to propose anything for the committee to ponder I'd suggest
this, since it's something I'd hope is easily within their grasp.

Is there any reason why NetBSD can't support *real* C as well as these
new fangled abominations?  [0.5 ;-)]

-- 
							Greg A. Woods

+1 416 443-1734			VE3TCP			robohack!woods
Planix, Inc. <woods@planix.com>; Secrets Of The Weird <woods@weird.com>