On Sun, 28 Jul 2024, Alejandro Colomar wrote:

>  gcc/Makefile.in               |  1 +
>  gcc/c-family/c-common.cc      | 20 +++++++++
>  gcc/c-family/c-common.def     |  4 ++
>  gcc/c-family/c-common.h       |  2 +
>  gcc/c/c-parser.cc             | 35 +++++++++++----
>  gcc/c/c-tree.h                |  4 ++
>  gcc/c/c-typeck.cc             | 84 +++++++++++++++++++++++++++++++++++
>  gcc/cp/cp-tree.h              |  1 -
>  gcc/cp/operators.def          |  1 +
>  gcc/cp/tree.cc                | 13 ------
>  gcc/ginclude/stdlength.h      | 35 +++++++++++++++
>  gcc/rust/backend/rust-tree.cc | 13 ------
>  gcc/rust/backend/rust-tree.h  |  2 -
>  gcc/target.h                  |  3 ++
>  gcc/tree.cc                   | 13 ++++++
>  gcc/tree.h                    |  1 +

Please start with documentation and testcases, neither of which are 
included here - making sure that both documentation and testcases cover 
all the error cases and questions of e.g. evaluation of VLA operands.  
Documentation and testcases are the most important pieces for reviewing a 
proposed addition of a new language feature, before the actual 
implementation.

A relevant semantic question to answer here: sizeof evaluates all VLA 
operands, should this operator do likewise, or should it only evaluate 
when the toplevel array is of variable length (but not for a 
constant-length array of variable-size elements)?

-- 
Joseph S. Myers
josmy...@redhat.com

Reply via email to