🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.std.c
Article #1546

incomplete types/tentative definitions

#1546
From: Joshua Simons
Date: Tue, 31 Jul 1990 19:56
30 lines
1344 bytes
I am having trouble deciding how to deal with the following one-line
compilation unit:

int a[] ;

3.7.2 seems to say that this is a tentative definition and that it
should be treated as if it has an 'initializer equal to 0'. I'm not
sure if this applies in this case, and if it does apply, what it
means. Is the Standard saying that the above is equivalent to:

int a[1] = { 0 } ;   ?

Intuitively, I would think that my original should be equivalent to:

extern int a[] ;

That is, it isn't a tentative definition...it is just a declaration
which references something in another compilation unit. But I can't
figure out how to read the Standard to get that interpretation.

Help please?

-josh simons


--
simons@think.com
thinking machines corporation
245 first street					tel: 617.876.1111
cambridge, ma  02142-12114				fax: 617.876.1823
Technical Details
Message-ID: <41187@think.Think.COM>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!tut.cis.ohio-state.edu!snorkelwacker!spdcc!merk!alliant!linus!think!think.com!simons

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!tut.cis.ohio-state.edu!snorkelwacker!spdcc!merk!alliant!linus!think!think.com!simons
From: simons@think.com (Joshua Simons)
Newsgroups: comp.std.c
Subject: incomplete types/tentative definitions
Message-ID: <41187@think.Think.COM>
Date: 31 Jul 90 19:56:13 GMT
Sender: news@Think.COM
Reply-To: simons@think.com (Joshua Simons)
Organization: Thinking Machines Corporation, Cambridge MA, USA
Lines: 30