Discussion:
N2838: Types and sizes: "This changes the specification when the operand of sizeof is not an lvalue of VLA type"???
(too old to reply)
Andrey Tarasevich
2022-11-12 04:49:54 UTC
Permalink
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?
--
Best regards,
Andrey
Tim Rentsch
2022-11-13 14:42:18 UTC
Permalink
Post by Andrey Tarasevich
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.

<editorial-comment>
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.
</editorial-comment>

Loading...