dnl @synopsis AC_CXX_HAVE_BOOL dnl dnl If the compiler recognizes bool as a separate built-in type, define dnl HAVE_BOOL. Note that a typedef is not a separate type since you dnl cannot overload a function such that it accepts either the basic dnl type or the typedef. dnl dnl @category Cxx dnl @author Todd Veldhuizen dnl @author Luc Maisonobe dnl @version 2004-02-04 dnl @license AllPermissive AC_DEFUN([AC_CXX_HAVE_BOOL], [AC_CACHE_CHECK(whether the compiler recognizes bool as a built-in type, ac_cv_cxx_have_bool, [AC_LANG_SAVE AC_LANG_CPLUSPLUS AC_TRY_COMPILE([ int f(int x){return 1;} int f(char x){return 1;} int f(bool x){return 1;} ],[bool b = true; return f(b);], ac_cv_cxx_have_bool=yes, ac_cv_cxx_have_bool=no) AC_LANG_RESTORE ]) if test "$ac_cv_cxx_have_bool" = yes; then AC_DEFINE(HAVE_BOOL,,[define if bool is a built-in type]) fi ])