With xlc-12.1 I am seeing spurious failures of configure tests due to multiple definitions of OPAL_ASM_SYNC_HAVE_64BIT:
"conftest.c", line 211.9: 1506-236 (W) Macro name OPAL_ASM_SYNC_HAVE_64BIT has been redefined.
"conftest.c", line 211.9: 1506-358 (I) "OPAL_ASM_SYNC_HAVE_64BIT" is defined on line 209 of conftest.c.
Indeed the generated boilerplate in each conftest.c past a certain point contains two *different* definitions of this macro on lines 209 and 211:
[...]
#define OPAL_ASM_SYNC_HAVE_64BIT
#define OPAL_HAVE_GCC_BUILTIN_CSWAP_INT128 0
#define OPAL_ASM_SYNC_HAVE_64BIT 1
[...]