Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!floyd!cmcl2!rna!n44a!wjh12!genrad!decvax!mulga!munnari!basser!kvm From: kvm@basser.UUCP Newsgroups: net.unix-wizards Subject: Re: is "extern" ambiguous Message-ID: <257@basser.UUCP> Date: Tue, 3-Apr-84 20:51:19 EST Article-I.D.: basser.257 Posted: Tue Apr 3 20:51:19 1984 Date-Received: Sat, 7-Apr-84 04:09:51 EST References: <441@sri-arpa.UUCP> Lines: 27 no "extern" always means "externally visible". extern int i; declares an externally visible int with name i, it doesn't matter where the declaration appears. remember, the default storage class is "extern" (section 10.2 of the C reference manual) so this is equivalent to int i; similarly extern int poot(); or int poot(); declares an externally visible function returning int named poot, the absence of a function body requires that one appear elsewhere. the ambiguity is in the C compilers which float around. some compilers adopt the "restricted environment" (where the explicit appearance of "extern" means that storage is allocated elsewhere), some just do incorrect things.