R
Randy Howard
Harald van Dijk wrote
(in article
Do you need an example when they explicitly say:
"The C99 semantics of variable length arrays (VLAs) are not
fully implemented by the existing GCC extension: the concept of
variably modified (VM) types, and the rules for what identifiers
can be declared with VLA or VM types, are not implemented (for
example, GCC allows elements of VM type in a structure with
block scope); while the syntax for arrays to be declared with
[*] in parameter declarations is present, the semantics are not;
and in general the implementation of VLAs has not been checked
against C99 requirements."
?
The "are not implemented" above sounds fairly broken to me. The
official position on VLA's hasn't changed in a number of years,
despite numerous revisions to gcc.
(in article
Randy Howard wrote:
Could you give an example where current gcc versions miscompile or
refuse to compile a program with a valid use of VLA's?
Do you need an example when they explicitly say:
"The C99 semantics of variable length arrays (VLAs) are not
fully implemented by the existing GCC extension: the concept of
variably modified (VM) types, and the rules for what identifiers
can be declared with VLA or VM types, are not implemented (for
example, GCC allows elements of VM type in a structure with
block scope); while the syntax for arrays to be declared with
[*] in parameter declarations is present, the semantics are not;
and in general the implementation of VLAs has not been checked
against C99 requirements."
?
I'm aware that
the gcc folks themselves say their VLA support is broken, so I don't
doubt that there are examples, but I'm curious and don't know of any.
The "are not implemented" above sounds fairly broken to me. The
official position on VLA's hasn't changed in a number of years,
despite numerous revisions to gcc.