Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!mnetor!seismo!lll-lcc!rutgers!mit-eddie!bu-cs!bzs
From: bzs@bu-cs.BU.EDU (Barry Shein)
Newsgroups: comp.lang.c
Subject: Why static forward references
Message-ID: <3094@bu-cs.BU.EDU>
Date: Wed, 24-Dec-86 00:55:49 EST
Article-I.D.: bu-cs.3094
Posted: Wed Dec 24 00:55:49 1986
Date-Received: Wed, 24-Dec-86 04:02:38 EST
Organization: Boston U. Comp. Sci.
Lines: 32


>extern char *blunge();			/* declare blunge */
>That "extern" just isn't needed.  Why not leave it off.

Ah ha ha ha! well, sort of...gather round:

In the C code for Franz 38.92 there is a definition SPISFP.

in bigdiv.c there is (within a routine):

	int *sp();

Unfortunately, there is also in a .h file (more or less):

int *xp;
#ifdef SPISFP
#define sp() xp
#endif

Well, the clever children have guessed that this rendered that
declaration:

	int *xp;

thus hiding the global value. Took a while to find that one, it usually
worked (was used as a ptr to a dummy stack space to fake alloca().)

Anyhow...I was just thinking about this 'unnecessary' extern as I wiped
the blood from my eyes. (you can consider this a bug report on that Franz
if you like.)

	-Barry Shein, Boston University