Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!bloom-beacon!husc6!yale!mfci!karzes
From: karzes@mfci.UUCP (Tom Karzes)
Newsgroups: comp.lang.c
Subject: Re: extern question
Keywords: static struct forward declaration
Message-ID: <459@m3.mfci.UUCP>
Date: 5 Jul 88 20:07:46 GMT
References: <4182@pasteur.Berkeley.Edu> <8200@brl-smoke.ARPA> <457@m3.mfci.UUCP> <8213@brl-smoke.ARPA>
Sender: root@mfci.UUCP
Reply-To: karzes@mfci.UUCP (Tom Karzes)
Organization: Multiflow Computer Inc., Branford Ct. 06405
Lines: 12
Summary:
Expires:
Sender:
Followup-To:
Distribution:

In article <8213@brl-smoke.ARPA> gwyn@brl.arpa (Doug Gwyn (VLD/VMB) ) writes:
}Same thing, but include "static" in all declarations that mention
}them, particularly the first.
}
}	static struct foo x;
}	static struct bar y;
}	static struct foo x = { 123, &y };
}	static struct bar y = { 456, &x };

That might work in ANSI C, but it isn't legal K&R C.  In K&R C the second
declarations of x and y constitute illegal redeclarartions, and with the
compilers I've tried compilation fails with a user error.