* Alejandro Colomar: > It would be good to have explicit replies by glibc maintainers about it, > so that the C Committee understands better what the maintainers think > about it. I've got word from some committee members that if I can > convince the maintainers, they'll vote for standardizing it. So, it > would be great it people could emit 'Acked-by:' tags, or otherwise > explain their position.
This is not how ISO standardization works. In the end, it comes down to how the national bodies vote. I think the proposal is not clear about its intent. It looks to me you are trying to accomplish at least the following things: * all allocation functions can be used to allocate zero-sized objects * calloc, reallocarray can be used to allocate arbitrary large arrays of zero-sized objects * calloc, reallocarray can be used to allocate zero-length arrays of arbitrarily-sized objects * realloc, reallocarray can no longer be used to deallocate storage If you frame your proposal in terms of aligning with traditional behavior, you are inviting a discussion what the traditional behavior is. But this doesn't really matter. I'm not sure if your changes to the calloc, reallocarray are sufficient text. I assume we want full symmetry of the arguments because the argument order in existing programs is not very consistent. This requires dropping the requirement that one of the arguments is an object size (which rules out zero as a valid argument value). >From an implementation perspective, we need clarification that the allocation functions (except aligned_alloc) may reduce the alignment of the returned pointer to a power of two greater or equal to the requested size, for allocation sizes that are less than the fundamental alignment. (Some existing implementations already do this today, in violation of the standard.) Thanks, Florian