summaryrefslogtreecommitdiff
path: root/m4/ax_cxx_template_scoped_argument_matching.m4
diff options
context:
space:
mode:
authorPeter Kokot <peterkokot@gmail.com>2018-07-26 15:31:37 +0200
committerPeter Kokot <peterkokot@gmail.com>2018-07-26 15:54:20 +0200
commit27efe2db1b0988303e46bd5dda65ff9ec12de18b (patch)
tree79da0613ed4c5ea1f8bb2807f99ec6a9fad44fb1 /m4/ax_cxx_template_scoped_argument_matching.m4
parent72e8def2648d7d05daa95d533079e7373b7218d7 (diff)
downloadautoconf-archive-27efe2db1b0988303e46bd5dda65ff9ec12de18b.tar.gz
Replace AC_TRY_COMPILE and AC_LANG_
Autoconf 2.50 in 2001 made several macros obsolete. These include macros for temporary changing the language - AC_LANG_SAVE, AC_LANG_CPLUSPLUS, AC_LANG_C, and AC_LANG_RESTORE. Instead of these the AC_LANG_PUSH and AC_LANG_POP macros should be used with later Autoconf versions. AC_TRY_COMPILE macros should be replaced with AC_COMPILE_IFELSE. Refs: - http://git.savannah.gnu.org/cgit/autoconf.git/tree/NEWS - https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Language-Choice.html - https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Obsolete-Macros.html
Diffstat (limited to 'm4/ax_cxx_template_scoped_argument_matching.m4')
-rw-r--r--m4/ax_cxx_template_scoped_argument_matching.m413
1 files changed, 6 insertions, 7 deletions
diff --git a/m4/ax_cxx_template_scoped_argument_matching.m4 b/m4/ax_cxx_template_scoped_argument_matching.m4
index 126f11d..d284c2f 100644
--- a/m4/ax_cxx_template_scoped_argument_matching.m4
+++ b/m4/ax_cxx_template_scoped_argument_matching.m4
@@ -21,25 +21,24 @@
# and this notice are preserved. This file is offered as-is, without any
# warranty.
-#serial 7
+#serial 8
AU_ALIAS([AC_CXX_TEMPLATE_SCOPED_ARGUMENT_MATCHING], [AX_CXX_TEMPLATE_SCOPED_ARGUMENT_MATCHING])
AC_DEFUN([AX_CXX_TEMPLATE_SCOPED_ARGUMENT_MATCHING],
[AC_CACHE_CHECK(whether the compiler supports function matching with argument types which are template scope-qualified,
ax_cv_cxx_template_scoped_argument_matching,
[AC_REQUIRE([AX_CXX_TYPENAME])
- AC_LANG_SAVE
- AC_LANG_CPLUSPLUS
- AC_TRY_COMPILE([
+ AC_LANG_PUSH([C++])
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
#ifndef HAVE_TYPENAME
#define typename
#endif
template<class X> class A { public : typedef X W; };
template<class Y> class B {};
template<class Y> void operator+(B<Y> d1, typename Y::W d2) {}
-],[B<A<float> > z; z + 0.5f; return 0;],
- ax_cv_cxx_template_scoped_argument_matching=yes, ax_cv_cxx_template_scoped_argument_matching=no)
- AC_LANG_RESTORE
+]], [[B<A<float> > z; z + 0.5f; return 0;]])],
+ [ax_cv_cxx_template_scoped_argument_matching=yes], [ax_cv_cxx_template_scoped_argument_matching=no])
+ AC_LANG_POP([C++])
])
if test "$ax_cv_cxx_template_scoped_argument_matching" = yes; then
AC_DEFINE(HAVE_TEMPLATE_SCOPED_ARGUMENT_MATCHING,,