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


Groups > comp.lang.c > #102896

Re: C declarations

From Ian Collins <ian-news@hotmail.com>
Newsgroups comp.lang.c
Subject Re: C declarations
Date 2017-02-01 19:48 +1300
Message-ID <efdemaFhgsiU2@mid.individual.net> (permalink)
References <o6nd9u$rp1$1@dont-email.me> <o6r0gj$4di$1@dont-email.me> <o6r22b$ab3$1@dont-email.me> <efd881FhgsiU1@mid.individual.net> <3fd6c360-cd60-4d22-b7c6-4ac75ab206c3@googlegroups.com>

Show all headers | View raw


On 02/ 1/17 07:42 PM, luser droog wrote:
> On Tuesday, January 31, 2017 at 10:58:49 PM UTC-6, Ian Collins wrote:
>> On 02/ 1/17 11:13 AM, BartC wrote:
>>> On 31/01/2017 21:46, Andrey Tarasevich wrote:
>>>> On 1/30/2017 5:00 AM, BartC wrote:
>>>>> I've been studying C's syntax in a bit more detail and trying to match
>>>>> up what a compiler allows, with the grammar. Here's one example:
>>>>>
>>>>>     #include <stdio.h>
>>>>>
>>>>>     a=10, b=20, c=30;
>>>>>
>>>>>     int main(void){}
>>>>>
>>>>> This compiles fine.
>>>>
>>>> I can't say for sure if this was OK in K&R, but in the standard C (even
>>>> in the first C89/90) this is already illegal. The grammar for
>>>> _declaration_ requires at least a storage class specifier, a
>>>> type-specifier or a type qualifier to be present. Which means that if
>>>> you wanted to take advantage of the "implicit int" rule in C89/90, you'd
>>>> have to do at least
>>>>
>>>>       static a = 10, b = 20, c = 30;
>>>>
>>>> or, say,
>>>>
>>>>       const a = 10, b = 20, c = 30;
>>>>
>>>> What you have in your original code is not compliant with C89/90
>>>> requirements.
>>>
>>> Out of six compilers, three gave a warning about an implicit int, the
>>> other three said nothing at all.
>>
>> Care to name and shame?
>>
>
> I think we can all see the whodunit that the compilers
> were almost certainly invoked in a (default) mode
> which does not purport to be strictly standards-conforming.

Even unadorned gcc complains...

-- 
Ian

Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

C declarations BartC <bc@freeuk.com> - 2017-01-30 13:00 +0000
  Re: C declarations David Brown <david.brown@hesbynett.no> - 2017-01-30 14:25 +0100
    Re: C declarations Keith Thompson <kst-u@mib.org> - 2017-01-30 11:42 -0800
  Re: C declarations Andrey Tarasevich <andreytarasevich@hotmail.com> - 2017-01-31 13:46 -0800
    Re: C declarations BartC <bc@freeuk.com> - 2017-01-31 22:13 +0000
      Re: C declarations Andrey Tarasevich <andreytarasevich@hotmail.com> - 2017-01-31 16:43 -0800
        Re: C declarations Andrey Tarasevich <andreytarasevich@hotmail.com> - 2017-01-31 17:06 -0800
      Re: C declarations Ian Collins <ian-news@hotmail.com> - 2017-02-01 17:58 +1300
        Re: C declarations luser droog <luser.droog@gmail.com> - 2017-01-31 22:42 -0800
          Re: C declarations Ian Collins <ian-news@hotmail.com> - 2017-02-01 19:48 +1300
            Re: C declarations Robert Wessel <robertwessel2@yahoo.com> - 2017-02-01 01:18 -0600
            Re: C declarations David Brown <david.brown@hesbynett.no> - 2017-02-01 10:10 +0100
              Re: C declarations BartC <bc@freeuk.com> - 2017-02-01 11:39 +0000
                Re: C declarations David Brown <david.brown@hesbynett.no> - 2017-02-01 13:55 +0100
                Re: C declarations BartC <bc@freeuk.com> - 2017-02-01 13:22 +0000
                Re: C declarations David Brown <david.brown@hesbynett.no> - 2017-02-01 16:30 +0100
                Re: C declarations Keith Thompson <kst-u@mib.org> - 2017-02-01 08:15 -0800
                Re: C declarations supercat@casperkitty.com - 2017-02-01 08:44 -0800
                Re: C declarations David Brown <david.brown@hesbynett.no> - 2017-02-01 20:56 +0100
                Re: C declarations supercat@casperkitty.com - 2017-02-01 08:29 -0800
                Re: C declarations BartC <bc@freeuk.com> - 2017-02-01 17:24 +0000
                Re: C declarations fir <profesor.fir@gmail.com> - 2017-02-01 09:55 -0800
                Re: C declarations BartC <bc@freeuk.com> - 2017-02-01 18:44 +0000
                Re: C declarations Keith Thompson <kst-u@mib.org> - 2017-02-01 11:03 -0800
                Re: C declarations fir <profesor.fir@gmail.com> - 2017-02-01 12:26 -0800
                Re: C declarations fir <profesor.fir@gmail.com> - 2017-02-01 13:03 -0800
                Re: C declarations fir <profesor.fir@gmail.com> - 2017-02-01 13:12 -0800
                Re: C declarations fir <profesor.fir@gmail.com> - 2017-02-03 16:07 -0800
                Re: C declarations Keith Thompson <kst-u@mib.org> - 2017-02-01 10:44 -0800
                Re: C declarations jameskuyper@verizon.net - 2017-02-01 11:08 -0800
                Re: C declarations Keith Thompson <kst-u@mib.org> - 2017-02-01 10:40 -0800
                Re: C declarations BartC <bc@freeuk.com> - 2017-02-01 17:04 +0000
                Re: C declarations Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-02-01 19:58 +0000
                Re: C declarations BartC <bc@freeuk.com> - 2017-02-01 21:23 +0000
                Re: C declarations Keith Thompson <kst-u@mib.org> - 2017-02-01 08:08 -0800
                Re: C declarations Andrey Tarasevich <andreytarasevich@hotmail.com> - 2017-02-01 12:45 -0800
  Re: C declarations Andrey Tarasevich <andreytarasevich@hotmail.com> - 2017-03-06 11:19 -0800
    Re: C declarations Keith Thompson <kst-u@mib.org> - 2017-03-06 11:27 -0800

csiph-web