Issue #22038, configure: HAVE_STD_ATOMIC now also check that "atomic_int" and
"_Atomic void*" types work. Change needed on FreeBSD 10 where stdatomic.h is
available but the compiler fails on "_Atomic void*" with "_Atomic cannot be
applied to incomplete type 'void'".
diff --git a/configure b/configure
index 1ba0e94..ecefde4 100755
--- a/configure
+++ b/configure
@@ -15711,7 +15711,8 @@
 
 
     #include <stdatomic.h>
-    _Atomic int value = ATOMIC_VAR_INIT(1);
+    atomic_int value = ATOMIC_VAR_INIT(1);
+    _Atomic void *py_atomic_address = (void*) &value;
     int main() {
       int loaded_value = atomic_load(&value);
       return 0;
diff --git a/configure.ac b/configure.ac
index da096a7..c751622 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4890,7 +4890,8 @@
 [
   AC_LANG_SOURCE([[
     #include <stdatomic.h>
-    _Atomic int value = ATOMIC_VAR_INIT(1);
+    atomic_int value = ATOMIC_VAR_INIT(1);
+    _Atomic void *py_atomic_address = (void*) &value;
     int main() {
       int loaded_value = atomic_load(&value);
       return 0;
@@ -4901,7 +4902,8 @@
 AC_MSG_RESULT($have_stdatomic_h)
 
 if test "$have_stdatomic_h" = yes; then
-    AC_DEFINE(HAVE_STD_ATOMIC, 1, [Has stdatomic.h])
+    AC_DEFINE(HAVE_STD_ATOMIC, 1,
+              [Has stdatomic.h, atomic_int and _Atomic void* types work])
 fi
 
 # Check for GCC >= 4.7 __atomic builtins
diff --git a/pyconfig.h.in b/pyconfig.h.in
index 10d5f4a..507a7ab 100644
--- a/pyconfig.h.in
+++ b/pyconfig.h.in
@@ -880,7 +880,7 @@
 /* Define to 1 if you have the <stdlib.h> header file. */
 #undef HAVE_STDLIB_H
 
-/* Has stdatomic.h */
+/* Has stdatomic.h, atomic_int and _Atomic void* types work */
 #undef HAVE_STD_ATOMIC
 
 /* Define to 1 if you have the `strdup' function. */