Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.std.c > #1557

Re: When is the complete type of an external definition known?

Path csiph.com!usenet.pasdenom.info!weretis.net!feeder1.news.weretis.net!news.swapon.de!eternal-september.org!feeder.eternal-september.org!mx04.eternal-september.org!.POSTED!not-for-mail
From Keith Thompson <kst-u@mib.org>
Newsgroups comp.std.c
Subject Re: When is the complete type of an external definition known?
Date Sun, 19 Aug 2012 19:22:47 -0700
Organization None to speak of
Lines 33
Message-ID <ln1uj2l2tk.fsf@nuthaus.mib.org> (permalink)
References <653592d3-2e3d-4252-baae-cf1da6fb18e9@googlegroups.com> <lnehn2lhgd.fsf@nuthaus.mib.org> <4c03f493-4606-4893-a3b6-291bd03152ff@googlegroups.com> <slrn3vfsk32o91.221.ike@iceland.freeshell.org> <fdc7ea7c-759a-4300-b396-36aad059fb58@googlegroups.com>
Mime-Version 1.0
Content-Type text/plain; charset=utf-8
Content-Transfer-Encoding 8bit
Injection-Info mx04.eternal-september.org; posting-host="5842a546a2d4559ed11e9ac4721da702"; logging-data="29287"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1++HgB9Kh6q7PO4vPXVZbbo"
User-Agent Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux)
Cancel-Lock sha1:d6MN4ZR779wt2lKvXByuech0/S8= sha1:PgyBm5FCRD4lSDauOYWEOPyvRZY=
Xref csiph.com comp.std.c:1557

Show key headers only | View raw


Vlad from Moscow <vlad.moscow@mail.ru> writes:
> понедельник, 20 августа 2012 г., 1:56:49 UTC+4 пользователь Ike Naar написал:
>> On 2012-08-19, Vlad from Moscow <vlad.moscow@mail.ru> wrote:
[...]
>>   static int a[];
>> 
>> violates 6.9.2 p3:
>> 
>> "If the declaration of an identifier for an object is a tentative
>> definition and has internal linkage, the declared type shall not be
>> an incomplete type."
>
> I understand paragraph #2 of section 6.9.2 External object definitions
> that says that "If a translation unit contains one or more tentative
> definitions for an identifier, and the translation unit contains no
> external definition for that identifier, then the behavior is exactly
> as if the translation unit contains a file scope declaration of that
> identifier, with the composite type as of the end of the translation
> unit, with an initializer equal to 0."  that in my sample the array
> has complete composite type int [10].

It's paragraph 3 (which Ike Naar quoted) that applies here.  Your
declaration

    static int a[];

is illegal (more precisely a constraint violation).

-- 
Keith Thompson (The_Other_Keith) kst-u@mib.org  <http://www.ghoti.net/~kst>
    Will write code for food.
"We must do something.  This is something.  Therefore, we must do this."
    -- Antony Jay and Jonathan Lynn, "Yes Minister"

Back to comp.std.c | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


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