Skip to content

BTL openib clang compiler errors #6265

Closed
@jsquyres

Description

@jsquyres

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions