Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.2 9/18/84; site rlgvax.UUCP
Path: utzoo!watmath!clyde!burl!ulysses!allegra!mit-eddie!genrad!panda!talcott!harvard!seismo!rlgvax!guy
From: guy@rlgvax.UUCP (Guy Harris)
Newsgroups: net.lang.c
Subject: Re: Can #define `token-string' be empty?
Message-ID: <543@rlgvax.UUCP>
Date: Sat, 2-Mar-85 13:22:02 EST
Article-I.D.: rlgvax.543
Posted: Sat Mar  2 13:22:02 1985
Date-Received: Mon, 4-Mar-85 06:55:13 EST
References: <151@cci-bdc.UUCP> <282@cmu-cs-k.ARPA>, <363@sftri.UUCP> <5124@utzoo.UUCP>
Organization: CCI Office Systems Group, Reston, VA
Lines: 18

> > This is not necessary on System V release 2 C compiler. You can omit extern
> > everywhere. ld will be able to handle those constructs.
> 
> It is necessary for portability, however -- something AT&T cares less
> and less about these days.  AT&T to the contrary, Vr2 is not the whole
> world.  Thank God.

What you meant to say was "AT&T to the contrary, UNIX is not the whole world."
S3, 4.xBSD, and even your beloved V7 also permitted you to omit 'extern'
everywhere; all AT&T did in S5R2 (possibly S5R1; I don't know whether S5R1
had the 'extern' restriction, or whether it was in UNIX 5.0 but taken out
at the last minute when it was issued to the rest of the world) was to take
*out* the restriction that had been put into the 5.0 linker, because it, to
coin a phrase, "broke many existing programs".  Of course, if those programs
were ever intended to run on a non-UNIX system, they were already broken...

	Guy Harris
	{seismo,ihnp4,allegra}!rlgvax!guy