* 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


Reply via email to