[Easysoap-checkins] CVS: easysoap/conftools ac_cxx_typename.m4,NONE,1.1 ac_cxx_namespaces.m4,1.1,1.2
Status: Beta
Brought to you by:
dcrowley
From: David C. <dcr...@us...> - 2005-09-24 07:24:37
|
Update of /cvsroot/easysoap/easysoap/conftools In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10968/conftools Modified Files: ac_cxx_namespaces.m4 ac_cxx_partial_specialization.m4 ac_cxx_template_keyword_qualifier.m4 Added Files: ac_cxx_typename.m4 Log Message: Updated autoconf compiler check m4 files. Fixes to work with gcc 3.4 --- NEW FILE --- AC_DEFUN([AC_CXX_TYPENAME], [AC_CACHE_CHECK(whether the compiler recognizes typename, ac_cv_cxx_typename, [AC_LANG_SAVE AC_LANG_CPLUSPLUS AC_TRY_COMPILE([template<typename T>class X {public:X(){}};], [X<float> z; return 0;], ac_cv_cxx_typename=yes, ac_cv_cxx_typename=no) AC_LANG_RESTORE ]) if test "$ac_cv_cxx_typename" = yes; then AC_DEFINE(HAVE_TYPENAME,,[define if the compiler recognizes typename]) fi ]) Index: ac_cxx_namespaces.m4 =================================================================== RCS file: /cvsroot/easysoap/easysoap/conftools/ac_cxx_namespaces.m4,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- ac_cxx_namespaces.m4 15 Nov 2001 06:05:55 -0000 1.1 +++ ac_cxx_namespaces.m4 24 Sep 2005 07:24:24 -0000 1.2 @@ -1,11 +1,3 @@ -dnl @synopsis AC_CXX_NAMESPACES -dnl -dnl If the compiler can prevent names clashes using namespaces, define -dnl HAVE_NAMESPACES. -dnl -dnl @version $Id$ -dnl @author Luc Maisonobe -dnl AC_DEFUN([AC_CXX_NAMESPACES], [AC_CACHE_CHECK(whether the compiler implements namespaces, ac_cv_cxx_namespaces, Index: ac_cxx_partial_specialization.m4 =================================================================== RCS file: /cvsroot/easysoap/easysoap/conftools/ac_cxx_partial_specialization.m4,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- ac_cxx_partial_specialization.m4 12 Nov 2001 07:48:22 -0000 1.1 +++ ac_cxx_partial_specialization.m4 24 Sep 2005 07:24:24 -0000 1.2 @@ -1,11 +1,3 @@ -dnl @synopsis AC_CXX_PARTIAL_SPECIALIZATION -dnl -dnl If the compiler supports partial specialization, -dnl define HAVE_PARTIAL_SPECIALIZATION. -dnl -dnl @version $Id$ -dnl @author Luc Maisonobe -dnl AC_DEFUN([AC_CXX_PARTIAL_SPECIALIZATION], [AC_CACHE_CHECK(whether the compiler supports partial specialization, ac_cv_cxx_partial_specialization, Index: ac_cxx_template_keyword_qualifier.m4 =================================================================== RCS file: /cvsroot/easysoap/easysoap/conftools/ac_cxx_template_keyword_qualifier.m4,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- ac_cxx_template_keyword_qualifier.m4 12 Nov 2001 07:48:22 -0000 1.1 +++ ac_cxx_template_keyword_qualifier.m4 24 Sep 2005 07:24:24 -0000 1.2 @@ -1,20 +1,21 @@ -dnl @synopsis AC_CXX_TEMPLATE_KEYWORD_QUALIFIER -dnl -dnl If the compiler supports use of the template keyword as a qualifier, -dnl define HAVE_TEMPLATE_KEYWORD_QUALIFIER. -dnl -dnl @version $Id$ -dnl @author Luc Maisonobe -dnl AC_DEFUN([AC_CXX_TEMPLATE_KEYWORD_QUALIFIER], [AC_CACHE_CHECK(whether the compiler supports use of the template keyword as a qualifier, ac_cv_cxx_template_keyword_qualifier, [AC_LANG_SAVE AC_LANG_CPLUSPLUS AC_TRY_COMPILE([ -class A { public : A() {}; template<class T> static T convert() { return T(); } -}; -],[double z = A::template convert<double>(); return 0;], + class X + { + public: + template<int> void member() {} + template<int> static void static_member() {} + }; + template<class T> void f(T* p) + { + p->template member<200>(); // OK: < starts template argument + T::template static_member<100>(); // OK: < starts explicit qualification + } +],[X x; f(&x); return 0;], ac_cv_cxx_template_keyword_qualifier=yes, ac_cv_cxx_template_keyword_qualifier=no) AC_LANG_RESTORE ]) |