Closed
Description
On master, openib is failing to compile with clang 5/6/7 with the following errors. I have not checked any of the release branches.
Do we care any more? Or is it time to rm -rf openib
(per the v5.0.0 plans -- see https://github.com/open-mpi/ompi/wiki/5.0.x-FeatureList)?
CC btl_openib_endpoint.lo
btl_openib_endpoint.c:388:32: error: address argument to atomic operation must be a pointer to _Atomic type ('void **' invalid)
void *alloc_base = opal_atomic_swap_ptr (&endpoint->eager_rdma_local.alloc_base, NULL);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../opal/include/opal/sys/atomic_stdc.h:96:43: note: expanded from macro 'opal_atomic_swap_ptr'
#define opal_atomic_swap_ptr(addr, value) atomic_exchange_explicit (addr, value, memory_order_relaxed)
^ ~~~~
/cm/shared/apps/clang/6.0.0/lib/clang/6.0.0/include/stdatomic.h:138:34: note: expanded from macro 'atomic_exchange_explicit'
#define atomic_exchange_explicit __c11_atomic_exchange
^
1 error generated.
make: *** [btl_openib_endpoint.lo] Error 1
and
CC connect/btl_openib_connect_udcm.lo
connect/btl_openib_connect_udcm.c:2154:14: error: address argument to atomic operation must be a pointer to _Atomic type ('int32_t *' (aka 'int *') invalid)
if (0 == opal_atomic_swap_32 (&m->cm_message_event_active, 1)) {
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../opal/include/opal/sys/atomic_stdc.h:94:42: note: expanded from macro 'opal_atomic_swap_32'
#define opal_atomic_swap_32(addr, value) atomic_exchange_explicit (addr, value, memory_order_relaxed)
^ ~~~~
/cm/shared/apps/clang/6.0.0/lib/clang/6.0.0/include/stdatomic.h:138:34: note: expanded from macro 'atomic_exchange_explicit'
#define atomic_exchange_explicit __c11_atomic_exchange
^
connect/btl_openib_connect_udcm.c:2212:5: error: address argument to atomic operation must be a pointer to _Atomic type ('int32_t *' (aka 'int *') invalid)
opal_atomic_swap_32 (&m->cm_message_event_active, 0);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../opal/include/opal/sys/atomic_stdc.h:94:42: note: expanded from macro 'opal_atomic_swap_32'
#define opal_atomic_swap_32(addr, value) atomic_exchange_explicit (addr, value, memory_order_relaxed)
^ ~~~~
/cm/shared/apps/clang/6.0.0/lib/clang/6.0.0/include/stdatomic.h:138:34: note: expanded from macro 'atomic_exchange_explicit'
#define atomic_exchange_explicit __c11_atomic_exchange
^
2 errors generated.
make: *** [connect/btl_openib_connect_udcm.lo] Error 1