https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96112

--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Note, the mapping of objects with zero size is fuzzy at least in OpenMP and
generally, when one just gets a pointer, if there are zero sized objects
involved, one doesn't know if it is the end of some earlier object, a zero
sized object at that address (could be many of them) or non-zero sized object
starting at that address.
E.g. in C++ zero sized objects aren't valid and I think in C aren't either,
except for GNU extensions.
The OpenMP concept of zero sized array sections is about asking to map zero
bytes and essentially either get whatever object is at that address, or NULL if
it is not mapped, so something that is implicitly done for pointers.  It will
not work reliably in presence of zero sized objects mapped at that point.

Reply via email to