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


Groups > comp.lang.c > #112617

Re: Null pointer constant

Path csiph.com!eternal-september.org!feeder.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From Keith Thompson <kst-u@mib.org>
Newsgroups comp.lang.c
Subject Re: Null pointer constant
Date Mon, 19 Jun 2017 12:31:22 -0700
Organization None to speak of
Lines 68
Message-ID <lnbmpjg4fp.fsf@kst-u.example.com> (permalink)
References <UGx1B.379461$m76.337023@fx35.am4> <slrn3vfsokdqhs.r2.ike@iceland.freeshell.org> <jMD1B.215949$gM7.179726@fx44.am4> <oi78on$hu7$1@dont-email.me> <9zM1B.193976$KK7.183000@fx12.am4> <oi89cl$t3d$1@dont-email.me> <U5P1B.148289$GY6.107654@fx30.am4> <oi8geb$a5m$1@dont-email.me> <867a18ef-7ae6-2fe1-7f11-563b0572425c@verizon.net> <slrn3vfsokfstu.lnq.ike@iceland.freeshell.org> <170019a8-640f-5152-5f98-d0270dc71b47@verizon.net> <slrn3vfsokg2nd.v0.ike@iceland.freeshell.org> <97aef68d-40f4-f8ef-6167-f386abe06f2e@verizon.net>
Mime-Version 1.0
Content-Type text/plain; charset=us-ascii
Injection-Info mx02.eternal-september.org; posting-host="6cbb5d51c319bdfdc6c4f737cfea8267"; logging-data="11779"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/vWlnl9v2bjkEIvokVjk4Z"
User-Agent Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux)
Cancel-Lock sha1:zis3NqfIubB8dhPKoxrZWWRgsJM= sha1:EXTt1Y1UiVGEawXQ1QApcfb1Ad8=
Xref csiph.com comp.lang.c:112617

Show key headers only | View raw


"James R. Kuyper" <jameskuyper@verizon.net> writes:
> On 06/19/2017 01:29 PM, Ike Naar wrote:
>> On 2017-06-19, James R. Kuyper <jameskuyper@verizon.net> wrote:
>>> On 06/19/2017 11:51 AM, Ike Naar wrote:
>>>> On 2017-06-19, James R. Kuyper <jameskuyper@verizon.net> wrote:
[...]
>>>>> While 0+0 is fine,  6-2*3 is not: the right operand of the subtraction
>>>>> operator is a multiplication expression, which doesn't fall into any of
>>>>> listed categories of allowed operands.
>>>>
>>>> According to the syntax, the right operand of the subtraction operator
>>>> is always a multiplicative-expression.
>>>
>>> True, but not relevant, which I was trying to hint at by referring to it
>>> as a "multiplication expression" (which isn't one of the standard-define
>>> grammar terms), rather than "multiplicative-expression". As I'm using
>>> the term, a "multiplicative expression" is one that actually has a
>>> multiplication as it's operator.
>>>
>>> For comparison: 5 is a constant. As a result, it is also a
>>> primary-expression, a postfix-expression, a unary-expression, and a
>>> multiplicative-expression (assuming it occurs in a location where
>>> expressions of one of those types are permitted by the grammar). But, as
>>> a constant, 5 meets the requirements in 6.6p6 for an operand in an
>>> integer constant expression. In contrast, the only one of those terms
>>> that describes 2*3 is multiplicative-expression, and that's not enough
>>> to qualify it for use in that context.
>>
>>   6.6
>>   constant-expression
>>     conditional-expression
>>
>>   6.6p6
>>   An integer constant expression shall have integer type and
>>   shall only have operands that are integer constants, [...]
>>
>> I take it that the term 'operands' in this sentence refers to the
>> operands that appear in the full derivation of the constant-expression,
>> that is, in the derivation
>>
[SNIP]
>>
>> the term 'operands' in 6.6p6 refers to '6', '2' and '3'.
>
> That would be another way of fixing this problem, equivalent to one 
> which I've used internally for several years: 6.6p6 applies only to 
> "leaf operands", that is, operands which are not themselves expressions 
> with sub-expressions. However, while preparing my first message for this 
> thread, I came to the conclusion that a recursive reference to integer 
> constant expressions would be a cleaner way to fix this problem.
>
> The point is, these ARE fixes. The wording as it is currently written 
> doesn't provide any justification for applying 6.6p6 only to 
> leaf-operands. As written, it applies to all operands, including those 
> that are expressions with sub-expressions.

And one item in the list of allowed "operands" is

    sizeof expressions whose results are integer constants

Given that sizeof is treated as an operator that takes an operand, it
can't be a leaf expression.

-- 
Keith Thompson (The_Other_Keith) kst-u@mib.org  <http://www.ghoti.net/~kst>
Working, but not speaking, for JetHead Development, Inc.
"We must do something.  This is something.  Therefore, we must do this."
    -- Antony Jay and Jonathan Lynn, "Yes Minister"

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


Thread

Null pointer constant bartc <bc@freeuk.com> - 2017-06-18 17:15 +0100
  Re: Null pointer constant Keith Thompson <kst-u@mib.org> - 2017-06-18 11:20 -0700
  Re: Null pointer constant Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-06-18 19:23 +0100
    Re: Null pointer constant bartc <bc@freeuk.com> - 2017-06-18 20:57 +0100
      Re: Null pointer constant Keith Thompson <kst-u@mib.org> - 2017-06-18 13:38 -0700
        Re: Null pointer constant Tim Rentsch <txr@alumni.caltech.edu> - 2017-06-19 04:35 -0700
          Re: Null pointer constant Nick Bowler <nbowler@draconx.ca> - 2017-06-19 18:08 +0000
            Re: Null pointer constant Tim Rentsch <txr@alumni.caltech.edu> - 2017-06-19 21:05 -0700
          Re: Null pointer constant Keith Thompson <kst-u@mib.org> - 2017-06-19 12:12 -0700
            Re: Null pointer constant Tim Rentsch <txr@alumni.caltech.edu> - 2017-06-19 21:08 -0700
      Re: Null pointer constant Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-06-19 00:34 +0100
        Re: Null pointer constant Tim Rentsch <txr@alumni.caltech.edu> - 2017-06-19 04:45 -0700
          Re: Null pointer constant David Brown <david.brown@hesbynett.no> - 2017-06-19 13:55 +0200
        Re: Null pointer constant bartc <bc@freeuk.com> - 2017-06-19 13:16 +0100
          Re: Null pointer constant Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-06-19 16:58 +0100
  Re: Null pointer constant Ike Naar <ike@iceland.freeshell.org> - 2017-06-18 20:58 +0000
    Re: Null pointer constant bartc <bc@freeuk.com> - 2017-06-19 00:11 +0100
      Re: Null pointer constant David Brown <david.brown@hesbynett.no> - 2017-06-19 03:21 +0200
        Re: Null pointer constant bartc <bc@freeuk.com> - 2017-06-19 10:11 +0100
          Re: Null pointer constant David Brown <david.brown@hesbynett.no> - 2017-06-19 12:38 +0200
            Re: Null pointer constant bartc <bc@freeuk.com> - 2017-06-19 13:05 +0100
              Re: Null pointer constant David Brown <david.brown@hesbynett.no> - 2017-06-19 14:39 +0200
                Re: Null pointer constant "James R. Kuyper" <jameskuyper@verizon.net> - 2017-06-19 11:06 -0400
                Re: Null pointer constant Ike Naar <ike@iceland.freeshell.org> - 2017-06-19 15:51 +0000
                Re: Null pointer constant "James R. Kuyper" <jameskuyper@verizon.net> - 2017-06-19 12:22 -0400
                Re: Null pointer constant Ike Naar <ike@iceland.freeshell.org> - 2017-06-19 17:29 +0000
                Re: Null pointer constant "James R. Kuyper" <jameskuyper@verizon.net> - 2017-06-19 13:45 -0400
                Re: Null pointer constant Keith Thompson <kst-u@mib.org> - 2017-06-19 12:31 -0700
                Re: Null pointer constant Ike Naar <ike@iceland.freeshell.org> - 2017-06-19 15:10 +0000
                Re: Null pointer constant Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-06-19 16:53 +0100
                Re: Null pointer constant "James R. Kuyper" <jameskuyper@verizon.net> - 2017-06-19 13:06 -0400
                Re: Null pointer constant Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-06-19 20:03 +0100
                Re: Null pointer constant David Brown <david.brown@hesbynett.no> - 2017-06-19 22:37 +0200
                Re: Null pointer constant Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-06-19 22:10 +0100
                Re: Null pointer constant Keith Thompson <kst-u@mib.org> - 2017-06-19 14:25 -0700
                Re: Null pointer constant Tim Rentsch <txr@alumni.caltech.edu> - 2017-06-19 22:46 -0700
                Re: Null pointer constant Keith Thompson <kst-u@mib.org> - 2017-06-20 08:43 -0700
                Re: Null pointer constant supercat@casperkitty.com - 2017-06-20 09:17 -0700
                Re: Null pointer constant Tim Rentsch <txr@alumni.caltech.edu> - 2017-06-21 00:56 -0700
                Re: Null pointer constant Keith Thompson <kst-u@mib.org> - 2017-06-21 10:07 -0700
                Re: Null pointer constant Tim Rentsch <txr@alumni.caltech.edu> - 2017-06-21 23:52 -0700
                Re: Null pointer constant Keith Thompson <kst-u@mib.org> - 2017-06-22 10:12 -0700
                Re: Null pointer constant Tim Rentsch <txr@alumni.caltech.edu> - 2017-06-22 17:33 -0700
                Re: Null pointer constant supercat@casperkitty.com - 2017-06-23 08:54 -0700
                Re: Null pointer constant Manfred <invalid@invalid.add> - 2017-06-20 00:00 +0200
                Re: Null pointer constant Keith Thompson <kst-u@mib.org> - 2017-06-19 15:27 -0700
                Re: Null pointer constant supercat@casperkitty.com - 2017-06-19 16:38 -0700
                Re: Null pointer constant Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-06-20 01:14 +0100
                Re: Null pointer constant Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-06-20 12:03 +0100
                Re: Null pointer constant Manfred <noname@invalid.add> - 2017-06-20 13:16 +0200
                Re: Null pointer constant jameskuyper@verizon.net - 2017-06-20 05:34 -0700
                Re: Null pointer constant Keith Thompson <kst-u@mib.org> - 2017-06-20 08:49 -0700
                Re: Null pointer constant Ike Naar <ike@iceland.freeshell.org> - 2017-06-20 16:35 +0000
                Re: Null pointer constant "James R. Kuyper" <jameskuyper@verizon.net> - 2017-06-20 13:07 -0400
                Re: Null pointer constant Nick Bowler <nbowler@draconx.ca> - 2017-06-20 17:29 +0000
                Re: Null pointer constant "James R. Kuyper" <jameskuyper@verizon.net> - 2017-06-20 13:55 -0400
                Re: Null pointer constant Nick Bowler <nbowler@draconx.ca> - 2017-06-20 18:06 +0000
                Re: Null pointer constant "James R. Kuyper" <jameskuyper@verizon.net> - 2017-06-20 14:42 -0400
                Re: Null pointer constant Nick Bowler <nbowler@draconx.ca> - 2017-06-20 19:10 +0000
                Re: Null pointer constant Ike Naar <ike@iceland.freeshell.org> - 2017-06-20 18:31 +0000
                Re: Null pointer constant Nick Bowler <nbowler@draconx.ca> - 2017-06-20 18:36 +0000
                Re: Null pointer constant "James R. Kuyper" <jameskuyper@verizon.net> - 2017-06-20 14:45 -0400
                Re: Null pointer constant Nick Bowler <nbowler@draconx.ca> - 2017-06-20 17:14 +0000
                Re: Null pointer constant Keith Thompson <kst-u@mib.org> - 2017-06-20 11:55 -0700
                Re: Null pointer constant Nick Bowler <nbowler@draconx.ca> - 2017-06-20 19:23 +0000
                Re: Null pointer constant "James R. Kuyper" <jameskuyper@verizon.net> - 2017-06-20 15:39 -0400
                Re: Null pointer constant scott@slp53.sl.home (Scott Lurndal) - 2017-06-21 13:44 +0000
                Re: Null pointer constant scott@slp53.sl.home (Scott Lurndal) - 2017-06-21 13:49 +0000
                Re: Null pointer constant Tim Rentsch <txr@alumni.caltech.edu> - 2017-06-21 23:57 -0700
                Re: Null pointer constant Philip Lantz <prl@canterey.us> - 2017-06-28 20:04 -0700
                Re: Null pointer constant Tim Rentsch <txr@alumni.caltech.edu> - 2017-07-10 08:38 -0700
                Re: Null pointer constant Keith Thompson <kst-u@mib.org> - 2017-06-20 12:39 -0700
                Re: Null pointer constant bartc <bc@freeuk.com> - 2017-06-20 20:53 +0100
                Re: Null pointer constant Keith Thompson <kst-u@mib.org> - 2017-06-20 13:07 -0700
                Re: Null pointer constant Nick Bowler <nbowler@draconx.ca> - 2017-06-20 20:50 +0000
                Re: Null pointer constant Keith Thompson <kst-u@mib.org> - 2017-06-20 15:35 -0700
                Re: Null pointer constant Tim Rentsch <txr@alumni.caltech.edu> - 2017-06-21 00:26 -0700
                Re: Null pointer constant Keith Thompson <kst-u@mib.org> - 2017-06-21 09:54 -0700
                Re: Null pointer constant "James R. Kuyper" <jameskuyper@verizon.net> - 2017-06-21 13:09 -0400
                Re: Null pointer constant Tim Rentsch <txr@alumni.caltech.edu> - 2017-06-22 00:53 -0700
                Re: Null pointer constant bartc <bc@freeuk.com> - 2017-06-21 18:09 +0100
                Re: Null pointer constant Tim Rentsch <txr@alumni.caltech.edu> - 2017-06-22 00:50 -0700
                Re: Null pointer constant Keith Thompson <kst-u@mib.org> - 2017-06-19 10:24 -0700
                Re: Null pointer constant Tim Rentsch <txr@alumni.caltech.edu> - 2017-06-19 22:32 -0700
                Re: Null pointer constant bartc <bc@freeuk.com> - 2017-06-19 19:40 +0100
                Re: Null pointer constant Keith Thompson <kst-u@mib.org> - 2017-06-19 12:08 -0700
                Re: Null pointer constant bartc <bc@freeuk.com> - 2017-06-19 20:32 +0100
                Re: Null pointer constant Keith Thompson <kst-u@mib.org> - 2017-06-19 12:48 -0700
                Re: Null pointer constant jameskuyper@verizon.net - 2017-06-19 13:08 -0700
                Re: Null pointer constant Nick Bowler <nbowler@draconx.ca> - 2017-06-19 20:40 +0000
                Re: Null pointer constant bartc <bc@freeuk.com> - 2017-06-19 22:01 +0100
                Re: Null pointer constant supercat@casperkitty.com - 2017-06-19 14:15 -0700
                Re: Null pointer constant jameskuyper@verizon.net - 2017-06-19 14:25 -0700
                Re: Null pointer constant Ike Naar <ike@iceland.freeshell.org> - 2017-06-19 21:06 +0000
                Re: Null pointer constant Keith Thompson <kst-u@mib.org> - 2017-06-19 14:28 -0700
                Re: Null pointer constant Ike Naar <ike@iceland.freeshell.org> - 2017-06-19 21:35 +0000
                Re: Null pointer constant supercat@casperkitty.com - 2017-06-19 14:48 -0700
                Re: Null pointer constant Ike Naar <ike@iceland.freeshell.org> - 2017-06-20 15:38 +0000
                Re: Null pointer constant Keith Thompson <kst-u@mib.org> - 2017-06-19 15:16 -0700
                Re: Null pointer constant supercat@casperkitty.com - 2017-06-19 14:29 -0700
                Re: Null pointer constant Keith Thompson <kst-u@mib.org> - 2017-06-19 15:18 -0700
                Re: Null pointer constant Tim Rentsch <txr@alumni.caltech.edu> - 2017-06-19 22:48 -0700
                Re: Null pointer constant bartc <bc@freeuk.com> - 2017-06-20 15:09 +0100
              Re: Null pointer constant Keith Thompson <kst-u@mib.org> - 2017-06-19 10:19 -0700
            Re: Null pointer constant Keith Thompson <kst-u@mib.org> - 2017-06-19 10:15 -0700
              Re: Null pointer constant David Brown <david.brown@hesbynett.no> - 2017-06-19 22:44 +0200
            Re: Null pointer constant Keith Thompson <kst-u@mib.org> - 2017-06-19 12:24 -0700
      Re: Null pointer constant Ike Naar <ike@iceland.freeshell.org> - 2017-06-19 08:21 +0000
        Re: Null pointer constant bartc <bc@freeuk.com> - 2017-06-19 10:17 +0100
          Re: Null pointer constant Keith Thompson <kst-u@mib.org> - 2017-06-19 10:04 -0700
  Re: Null pointer constant Keith Thompson <kst-u@mib.org> - 2017-06-19 12:34 -0700

csiph-web