Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
| From | Wojtek Lerch <wojtek_l@yahoo.ca> |
|---|---|
| Newsgroups | comp.std.c |
| Subject | Re: When is the complete type of an external definition known? |
| Date | 2012-08-20 16:58 -0400 |
| Message-ID | <a9fmnoFhphU1@mid.individual.net> (permalink) |
| References | (3 earlier) <slrn3vfsk32o91.221.ike@iceland.freeshell.org> <fdc7ea7c-759a-4300-b396-36aad059fb58@googlegroups.com> <ln1uj2l2tk.fsf@nuthaus.mib.org> <a9f1hmFe4bU1@mid.individual.net> <lnipcdjpt4.fsf@nuthaus.mib.org> |
On 20-Aug-12 4:01 PM, Keith Thompson wrote: > Wojtek Lerch <wojtek_l@yahoo.ca> writes: >>> [...] >>>>> static int a[]; >>>>> >>>>> violates 6.9.2 p3: ... >> Out of curiosity, does anybody know the reason for this restriction? It >> sounds like a useful thing to be able to do. (And I have to admit that >> did it more than once, before I knew about this.) Is it because >> different compilers used to interpret it differently back in the day, >> and the standard didn't want to break them? The Rationale doesn't seem >> to mention "tentative" at all. > > And assuming the restriction is necessary, why isn't it a constraint? If the reason is because at the time all compilers treated this construct as valid but interpreted it with different semantics, then making it a constraint would mean that some compilers would need to change (and start to produce a diagnostic). Compare this to 6.9p5, which makes it undefined behaviour to have multiple definitions of the same symbol with external linkage, or a missing definition of a symbol that is referenced. I don't think I have ever worked with a linker that wouldn't treat those as fatal errors, but I assume that the reason this is not a constraint either is because back in the eighties some linkers accepted it. > Is it difficult for a compiler to detect a violation? As far as I can tell, recognizing that the type is incomplete is the only non-trivial part.
Back to comp.std.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
When is the complete type of an external definition known? Vlad from Moscow <vlad.moscow@mail.ru> - 2012-08-19 13:40 -0700
Re: When is the complete type of an external definition known? Keith Thompson <kst-u@mib.org> - 2012-08-19 14:06 -0700
Re: When is the complete type of an external definition known? Vlad from Moscow <vlad.moscow@mail.ru> - 2012-08-19 14:30 -0700
Re: When is the complete type of an external definition known? Ike Naar <ike@iceland.freeshell.org> - 2012-08-19 21:56 +0000
Re: When is the complete type of an external definition known? Vlad from Moscow <vlad.moscow@mail.ru> - 2012-08-19 16:42 -0700
Re: When is the complete type of an external definition known? Keith Thompson <kst-u@mib.org> - 2012-08-19 19:22 -0700
Re: When is the complete type of an external definition known? Wojtek Lerch <wojtek_l@yahoo.ca> - 2012-08-20 10:57 -0400
Re: When is the complete type of an external definition known? Keith Thompson <kst-u@mib.org> - 2012-08-20 13:01 -0700
Re: When is the complete type of an external definition known? Wojtek Lerch <wojtek_l@yahoo.ca> - 2012-08-20 16:58 -0400
Re: When is the complete type of an external definition known? pacman@kosh.dhis.org (Alan Curry) - 2012-08-21 00:44 +0000
Re: When is the complete type of an external definition known? Ike Naar <ike@sverige.freeshell.org> - 2012-08-20 05:57 +0000
Re: When is the complete type of an external definition known? Vlad from Moscow <vlad.moscow@mail.ru> - 2012-08-20 03:22 -0700
Re: When is the complete type of an external definition known? Ike Naar <ike@sverige.freeshell.org> - 2012-08-20 12:27 +0000
Re: When is the complete type of an external definition known? Jens Gustedt <jens.gustedt@loria.fr> - 2012-08-20 17:04 +0200
Re: When is the complete type of an external definition known? Ike Naar <ike@iceland.freeshell.org> - 2012-08-20 16:35 +0000
Re: When is the complete type of an external definition known? Jens Gustedt <jens.gustedt@loria.fr> - 2012-08-20 20:43 +0200
Re: When is the complete type of an external definition known? James Kuyper <jameskuyper@verizon.net> - 2012-08-20 08:46 -0400
Re: When is the complete type of an external definition known? Vlad from Moscow <vlad.moscow@mail.ru> - 2012-08-19 14:24 -0700
Re: When is the complete type of an external definition known? "Ersek, Laszlo" <lacos@caesar.elte.hu> - 2012-08-19 23:36 +0200
Re: When is the complete type of an external definition known? Vlad from Moscow <vlad.moscow@mail.ru> - 2012-08-19 14:46 -0700
csiph-web