On 4/11/2014 4:36 AM, Paulo Pinto wrote:
This will never change as we (me and Walter) discussed on a parallel thread.
The way arrays decay into pointers cannot be fixed while keeping backwards
compatibility.
Algol, PL/I and Mesa had bounds checked arrays, with the option to disable them
if required, but C designers decided against it.
The idea was that developers would use lint for such purposes, what very few do,
even in 2014.
I am convinced that this will only get fixed by a generation change.
The change I suggest is purely additive, meaning it will not break any existing
code. If C can add VLAs, it can add this.
I have talked about this change with C people a few years ago, and I just kinda
got a blank look in return. Maybe, though, C people will finally get fed up with
these sorts of avoidable problems.