Path: csiph.com!aioe.org!eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
From: Tim Rentsch
Newsgroups: comp.std.c
Subject: Re: N2838: Types and sizes: "This changes the specification when the operand of sizeof is not an lvalue of VLA type"???
Date: Sun, 13 Nov 2022 06:42:18 -0800
Organization: A noiseless patient Spider
Lines: 32
Message-ID: <86tu32ex11.fsf@linuxsc.com>
References:
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Injection-Info: reader01.eternal-september.org; posting-host="0d9d9adb12236acb6df358a6e34949d6"; logging-data="1560661"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18tvcMx40p06/CTWjfOvruV1iiDqJ8TmDU="
User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.4 (gnu/linux)
Cancel-Lock: sha1:46ikRLBGry3eO69I8L06joIxxdQ= sha1:Lnv7FFwaySrTmizWDjIFNNPe+lU=
Xref: csiph.com comp.std.c:6450
Andrey Tarasevich writes:
> https://open-std.org/jtc1/sc22/wg14/www/docs/n2838.htm
>
> Section "3.2.1. Rationale" of that proposal begins with
>
> "This changes the specification when the operand of sizeof is
> *not* an lvalue of VLA type [...]"
>
> Note the "not" in the above sentence: "not an lvalue of VLA type".
>
> And then it proceeds to demonstrate the proposed change with an
> example in 3.2.2 where the `sizeof` in question (whose behavior will
> supposedly change) is clearly applied to an lvalue of VLA type!
>
> So, what is that "not" doing in the initial sentence of 3.2.1? Is
> this just a typo/miswording? Or am I missing something about the
> intended meaning of that sentence?
My reading of that statement in 3.2.1 is that it is wrong. The
change proposed in 3.2 /does/ affect the semantics of sizeof with
an operand that is an lvalue of VLA type, and also, AFAICT, does
/not/ affect the semantics of sizeof with any other kind of
operand. As to what may have caused it, I have nothing new to
offer.
The proposal document is poorly written. The changes proposed
are either poorly written or poorly thought out, perhaps both.
Sadly I believe the overall quality of the proposal is indicative
of what is going on in the ISO C standard more generally.