Skip to content

Naming conflict for shmem_put/get in shmem-compat.h #4307

Closed
@BryantLam

Description

@BryantLam

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.

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions