1 # https://lists.gnu.org/archive/html/autoconf-commit/2012-12/msg00004.html
4 # Define HAVE_C__GENERIC if _Generic works, a la C11.
5 AN_IDENTIFIER([_Generic], [AC_C__GENERIC])
6 AC_DEFUN([AC_C__GENERIC],
7 [AC_CACHE_CHECK([for _Generic], ac_cv_c__Generic,
11 main (int argc, char **argv)
13 int a = _Generic (argc, int: argc = 1);
14 int *b = &_Generic (argc, default: argc);
15 char ***c = _Generic (argv, int: argc, default: argv ? &argv : 0);
16 _Generic (1 ? 0 : b, int: a, default: b) = &argc;
17 _Generic (a = 1, default: a) = 3;
21 [ac_cv_c__Generic=yes],
22 [ac_cv_c__Generic=no])])
23 if test $ac_cv_c__Generic = yes; then
24 AC_DEFINE([HAVE_C__GENERIC], 1,
25 [Define to 1 if C11-style _Generic works.])