From a9d065c48d35343bf7228e1728312d9da83554ba Mon Sep 17 00:00:00 2001 From: Bart Van Assche Date: Mon, 16 Oct 2023 06:30:55 -0700 Subject: [PATCH] configure.ac: Convert the thrd_create() test from C++ to C --- configure.ac | 36 ++++++++++++++++-------------------- drd/tests/Makefile.am | 2 +- 2 files changed, 17 insertions(+), 21 deletions(-) diff --git a/configure.ac b/configure.ac index 95dbc70201..357e6588fd 100755 --- a/configure.ac +++ b/configure.ac @@ -2080,26 +2080,6 @@ AC_LANG(C) AM_CONDITIONAL(CXX_CAN_INCLUDE_THREAD_HEADER, test x$ac_cxx_can_include_thread_header = xyes) -AC_MSG_CHECKING([that the C++ compiler supports thrd_create()]) -AC_LANG(C++) -safe_CXXFLAGS=$CXXFLAGS -CXXFLAGS=-std=c++11 - -AC_COMPILE_IFELSE([AC_LANG_PROGRAM([ -#include -], [[thrd_t thr; return thrd_create(&thr, [](void *arg){return 0;}, NULL);]])], -[ -ac_cxx_have_thrd_create=yes -AC_MSG_RESULT([yes]) -], [ -ac_cxx_have_thrd_create=no -AC_MSG_RESULT([no]) -]) -CXXFLAGS=$safe_CXXFLAGS -AC_LANG(C) - -AM_CONDITIONAL(CXX_HAVE_THRD_CREATE, test x$ac_cxx_have_thrd_create = xyes) - # Check whether compiler can process #include without errors AC_MSG_CHECKING([that C++ compiler can include header file]) @@ -5465,6 +5445,22 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ AC_MSG_RESULT([no]) ]) +# Check for C11 thrd_create() +AC_MSG_CHECKING([for thrd_create()]) +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([ +#include +int thrd_entry(void *arg) { return 0; } +], [[thrd_t thr; return thrd_create(&thr, thrd_entry, NULL);]])], +[ +ac_cxx_have_thrd_create=yes +AC_MSG_RESULT([yes]) +], [ +ac_cxx_have_thrd_create=no +AC_MSG_RESULT([no]) +]) + +AM_CONDITIONAL(HAVE_THRD_CREATE, test x$ac_cxx_have_thrd_create = xyes) + #---------------------------------------------------------------------------- diff --git a/drd/tests/Makefile.am b/drd/tests/Makefile.am index 819ce3e2d2..fcea8cdcef 100755 --- a/drd/tests/Makefile.am +++ b/drd/tests/Makefile.am @@ -515,7 +515,7 @@ if HAVE_SWAPCONTEXT check_PROGRAMS += swapcontext endif -if CXX_HAVE_THRD_CREATE +if HAVE_THRD_CREATE check_PROGRAMS += thrd_create endif -- 2.47.2