🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

2 total messages Started by Eric Hanchrow Tue, 27 Feb 1990 00:16
function prototype syntax
#2904
Author: Eric Hanchrow
Date: Tue, 27 Feb 1990 00:16
32 lines
1850 bytes
Here's an entire program which compiles just fine with gcc-1.37
(Sparc, SunOS 4.0.c).
	extern int fred(int a, int );
I tried compiling the same program with Microsoft C 5.1, and it said
unto me, quote,
	junk3.c(1) : error C2059: syntax error : ','
I promptly got on the phone to Microsoft to chew them out about this
obvious ANSI non-compatibility.  The fella on the phone said, "No, the
ANSI standard requires that you either name all the arguments in a
function prototype, or none of them".  Therefore, he claimed, the
error generaed by Microsoft was correct (although not very
informative).

Now, I don't have a copy of the Standard, but if the guy at Microsoft
was right, then gcc should also complain when presented with this
code.

For comparison, these programs (according to the guy from Microsoft)
are correct:
	extern int fred(int a, int b);	/* Both arguments are given names */
	extern int fred(int , int );	/* Neither argument has a name */

Where does one get a copy of the Standard, anyway?

Thanks!!
	-------------------------------------------------------------------------
	|Eric Hanchrow		yamada-sun!eric@nosun.west.sun.com		|
	|Phase III Logic, Inc.	...!{tektronix, sun}!nosun!yamada-sun!eric	|
	|1600 N.W. 167th Place		Beaverton, OR 97006			|
	|Voice: (503)-645-0313		Fax: (503)-645-0207	as of 13-Dec-89	|
	-------------------------------------------------------------------------
Re: function prototype syntax
#2911
Author: Henry Spencer
Date: Wed, 28 Feb 1990 19:19
22 lines
1742 bytes
In article <25EB0435.3408@paris.ics.uci.edu> rfg@ics.uci.edu (Ronald Guilmette) writes:
>In article <9002270016.AA02978@yamada-sun.UUCP> yamada-sun!eric@nosun.west.sun.com (Eric Hanchrow) writes:
>>I promptly got on the phone to Microsoft to chew them out about this
>>obvious ANSI non-compatibility.  The fella on the phone said, "No, the
>>ANSI standard requires that you either name all the arguments in a
>>function prototype, or none of them"...
>
>You had better call back that guy at Microsoft and insist that he cite
>chapter and verse from the standard to back up his assertion.

I see nothing in ANSI C (Oct 88 draft) that would support such an assertion.
Unless I've missed something subtle, in a function declaration (as opposed
to a definition), the names are optional on a parameter-by-parameter basis.
Given that Microsoft -- as well as everybody else -- has been claiming
"ANSI C compatibility" based on drafts rather than a final standard, it's
possible that he and/or Microslop as a whole may have gotten this idea
from an earlier draft and missed the liberalization of the rules.  I
don't remember the history of function declarations very well, but there
may have been such a restriction at one point.
-- 
"The N in NFS stands for Not, |     Henry Spencer at U of Toronto Zoology
or Need, or perhaps Nightmare"| uunet!attcan!utzoo!henry henry@zoo.toronto.edu
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads