* Alejandro Colomar: > Here's a new revision of the proposal. I've removed ENOMEM, since it's > not strictly necessary; it's only necessary that those systems that > already set it continue setting it (and my proposal for POSIX will > certainly include ENOMEM).
As far as I can see, this changes specification across all allocation functions and requires them to be able to produce zero-sized objects. Previously, the discussion was about changing realloc only. Is this really the right direction, given that int a[n]; is still undefined, and that C does not support zero-sized objects in general? Wouldn't it be more consistent to move in the other direction, and require that allocations of zero size fail because C does not support zero-sized objects? (This is why I don't want to make any changes today—we just don't know what the tightened specification will look like in the published standard. There are just too many totally reasonable variations.) Thanks, Florian