mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-12-25 06:56:14 +01:00
Bug 652827 - glib-2.29.8 no longer builds with mingw.org's toolchain
Check for Win32 atomic intrinsics.
This commit is contained in:
parent
fc442bdbe6
commit
3492122112
12
configure.ac
12
configure.ac
@ -2596,10 +2596,20 @@ if test x"$GCC" = xyes; then
|
|||||||
|
|
||||||
AC_MSG_RESULT($glib_cv_gcc_has_builtin_atomic_operations)
|
AC_MSG_RESULT($glib_cv_gcc_has_builtin_atomic_operations)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
AM_CONDITIONAL(HAVE_GCC_BUILTINS_FOR_ATOMIC_OPERATIONS,
|
AM_CONDITIONAL(HAVE_GCC_BUILTINS_FOR_ATOMIC_OPERATIONS,
|
||||||
[test $glib_cv_gcc_has_builtin_atomic_operations = yes])
|
[test $glib_cv_gcc_has_builtin_atomic_operations = yes])
|
||||||
|
|
||||||
|
AC_MSG_CHECKING([for Win32 atomic intrinsics])
|
||||||
|
glib_cv_has_win32_atomic_operations=no
|
||||||
|
AC_TRY_LINK([],
|
||||||
|
[int i; _InterlockedExchangeAdd (&i, 0);],
|
||||||
|
[glib_cv_has_win32_atomic_operations=yes],
|
||||||
|
[glib_cv_has_win32_atomic_operations=no])
|
||||||
|
AC_MSG_RESULT($glib_cv_has_win32_atomic_operations)
|
||||||
|
if test "x$glib_cv_has_win32_atomic_operations" = xyes; then
|
||||||
|
AC_DEFINE(HAVE_WIN32_BUILTINS_FOR_ATOMIC_OPERATIONS,1,[Have Win32 atomic intrinsics])
|
||||||
|
fi
|
||||||
|
|
||||||
dnl ************************
|
dnl ************************
|
||||||
dnl ** Check for futex(2) **
|
dnl ** Check for futex(2) **
|
||||||
dnl ************************
|
dnl ************************
|
||||||
|
@ -455,7 +455,7 @@ gsize
|
|||||||
return g_atomic_pointer_xor ((volatile gpointer *) atomic, val);
|
return g_atomic_pointer_xor ((volatile gpointer *) atomic, val);
|
||||||
}
|
}
|
||||||
|
|
||||||
#elif defined (G_PLATFORM_WIN32)
|
#elif defined (G_PLATFORM_WIN32) && defined(HAVE_WIN32_BUILTINS_FOR_ATOMIC_OPERATIONS)
|
||||||
|
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
#if !defined(_M_AMD64) && !defined (_M_IA64) && !defined(_M_X64)
|
#if !defined(_M_AMD64) && !defined (_M_IA64) && !defined(_M_X64)
|
||||||
|
Loading…
Reference in New Issue
Block a user