]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
configure: add check for C++17 std::align_val_t
authorPaul Floyd <pjfloyd@wanadoo.fr>
Thu, 11 Sep 2025 05:39:29 +0000 (07:39 +0200)
committerPaul Floyd <pjfloyd@wanadoo.fr>
Thu, 11 Sep 2025 05:39:29 +0000 (07:39 +0200)
Again for older compilers that claim C++17 but lack some
features

configure.ac
memcheck/tests/Makefile.am

index 21e905fe87643ad01c341e7f86674b02f5ac1bed..9c6a4710dd12335553d8d69c7585c1dd5a0702e5 100755 (executable)
@@ -1993,6 +1993,8 @@ AC_LANG(C)
 
 AM_CONDITIONAL(HAVE_CXX17, test x$ac_have_cxx_17 = xyes)
 
+# Compiler may announce C++17 support as above but may lack
+# some features
 AC_MSG_CHECKING([that C++ compiler supports constexpr if])
 AC_LANG(C++)
 safe_CXXFLAGS=$CXXFLAGS
@@ -2017,6 +2019,27 @@ AC_LANG(C)
 
 AM_CONDITIONAL(HAVE_CONSTEXPR_IF, test x$ac_have_constexpr_if = xyes)
 
+AC_MSG_CHECKING([that C++ compiler supports std::align_val_t])
+AC_LANG(C++)
+safe_CXXFLAGS=$CXXFLAGS
+CXXFLAGS=-std=c++17
+
+AC_COMPILE_IFELSE([AC_LANG_SOURCE([
+#include <new>
+std::align_val_t a;
+])],
+[
+ac_have_align_val_t=yes
+AC_MSG_RESULT([yes])
+], [
+ac_have_align_val_t=no
+AC_MSG_RESULT([no])
+                       ])
+CXXFLAGS=$safe_CXXFLAGS
+AC_LANG(C)
+
+AM_CONDITIONAL(HAVE_ALIGN_VAL_T, test x$ac_have_align_val_t = xyes)
+
 
 AC_MSG_CHECKING([that C++ compiler can include <thread> header file])
 AC_LANG(C++)
index 1a41734bd7b7043446a2b37c86d9ade3eae69d42..3f193972d1f293a1048e78185edb09658dc4e4bf 100644 (file)
@@ -635,9 +635,14 @@ check_PROGRAMS += reach_thread_register
 endif
 
 if HAVE_FSIZED_DEALLOCATION
-check_PROGRAMS += sized_delete new_delete_mismatch_size
+check_PROGRAMS += sized_delete
 endif
 
+if HAVE_ALIGN_VAL_T
+check_PROGRAMS += new_delete_mismatch_size
+endif
+
+
 if HAVE_GNU_STPNCPY
 check_PROGRAMS += stpncpy
 endif