Browse Source

libuv: fix atomic ops compilation with xlclang

Brad King 6 years ago
parent
commit
0d489fab19
1 changed files with 2 additions and 2 deletions
  1. 2 2
      Utilities/cmlibuv/src/unix/atomic-ops.h

+ 2 - 2
Utilities/cmlibuv/src/unix/atomic-ops.h

@@ -37,7 +37,7 @@ UV_UNUSED(static int cmpxchgi(int* ptr, int oldval, int newval)) {
                         : "r" (newval), "0" (oldval)
                         : "memory");
   return out;
-#elif defined(_AIX) && defined(__xlC__)
+#elif defined(_AIX) && (defined(__xlC__) || defined(__ibmxl__))
   const int out = (*(volatile int*) ptr);
   __compare_and_swap(ptr, &oldval, newval);
   return out;
@@ -63,7 +63,7 @@ UV_UNUSED(static long cmpxchgl(long* ptr, long oldval, long newval)) {
                         : "r" (newval), "0" (oldval)
                         : "memory");
   return out;
-#elif defined(_AIX) && defined(__xlC__)
+#elif defined(_AIX) && (defined(__xlC__) || defined(__ibmxl__))
   const long out = (*(volatile int*) ptr);
 # if defined(__64BIT__)
   __compare_and_swaplp(ptr, &oldval, newval);