Closed
Description
shmem-compat.h is included after a compiler check for C11 support. OpenSHMEM 1.3 added type-generic shmem_put
and shmem_get
that are defined as macros later in shmem.h.in
and subsequently conflict with the function declarations in shmem-compat.h
.
One solution is to add a check in shmem-compat.h
that checks for OSHMEM_HAVE_C11
to prefer the C11 generics, but this provides an invisible breaking change to existing codes that erroneously depend on shmem-compat.h
's shmem_put
. It would be better to get rid of the function declarations in shmem-compat.h
now that it sufficiently conflicts with the OpenSHMEM specification.