AC_CXX_FUNCTION_NONTYPE_PARAMETERS
, 
, 
Todd Veldhuizen
Luc Maisonobe <luc@spaceroots.org>
AllPermissive 
Copying and distribution of this file, with or
        without modification, are permitted in any medium without royalty provided the copyright
        notice and this notice are preserved. Users of this software should generally follow the
        principles of the 
        MIT License includings its disclaimer. 
cryp.to ac-archive's C++ Support (released)
If the compiler supports function templates with non-type
parameters, define HAVE_FUNCTION_NONTYPE_PARAMETERS.
AC_DEFUN([AC_CXX_FUNCTION_NONTYPE_PARAMETERS],
[AC_CACHE_CHECK(whether the compiler supports function templates with non-type parameters,
ac_cv_cxx_function_nontype_parameters,
[AC_LANG_SAVE
 AC_LANG_CPLUSPLUS
 AC_TRY_COMPILE([
template<class T, int N> class A {};
template<class T, int N> int f(const A<T,N>& x) { return 0; }
],[A<double, 17> z; return f(z);],
 ac_cv_cxx_function_nontype_parameters=yes, ac_cv_cxx_function_nontype_parameters=no)
 AC_LANG_RESTORE
])
if test "$ac_cv_cxx_function_nontype_parameters" = yes; then
  AC_DEFINE(HAVE_FUNCTION_NONTYPE_PARAMETERS,,
            [define if the compiler supports function templates with non-type parameters])
fi
])