Skip to content

BTL openib clang compiler errors #6265

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
jsquyres opened this issue Jan 9, 2019 · 2 comments
Closed

BTL openib clang compiler errors #6265

jsquyres opened this issue Jan 9, 2019 · 2 comments

Comments

@jsquyres
Copy link
Member

jsquyres commented Jan 9, 2019

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
@thananon
Copy link
Member

thananon commented Jan 10, 2019

Ok, this is an easy fix. The problem is we changed atomic variable into one universal opal_atomic type.
The real problem is no one is maintaining this BTL. I think I can fix this.

@jsquyres
Copy link
Member Author

See #6270.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants