Space after undeclared function name

Phillip L. Shaffer pls at ncsu.UUCP
Thu Nov 8 00:16:47 AEST 1984


I would like to obtain a consensus, or at least a few opinions, on
a minor point in C syntax.  I have recently obtained the Eco-C
C compiler for my Z-80 machine, and and am generally happy.  It
is doing one thing that I haven't seen before in other C compilers
(namely UNIX 4.2BSD or DeSmet on an IBM PC): it complains about
spaces after function names for funtions that have not been previously
declared - the error message is "illegal function call," or somesuch.
If you declare int functions before use, there is no problem.
Thus:

	int foo();

	foo ();

causes no problem, but

	foo ();

generates the complaint.  K&R (p. 186, paragraph 4) seem to sanction
this:
   "a hitherto unseen identifier followed immediately by a left
   parenthesis is contextually declared to represent a function
   returning an integer; thus, in the most common case, integer-
   valued functions need not be declared."

The question is: does "followed immediately" mean "with nothing
but white space in between" or is it to be taken literally?
This is a minor annoyance to me - changing styles slightly and
editing old programs before recompiling - but I thought I would
get some other opinions before complaining to Eco-Soft.

I will appreciate any responses - send mail to me and I will
summarize (or post your response if you like).  Thanks.

   Phil Shaffer (pls at ncsu)



More information about the Comp.lang.c mailing list