Be more careful about choosing restore points when doing restore folding. This fixes...
[oota-llvm.git] / autoconf / m4 / cxx_fwd_iterator.m4
index 8da2944b91c862dd140bbdce13242105b32d1e0a..eb7660c7c25c5560481119fc87acc15c63038b42 100644 (file)
@@ -4,20 +4,19 @@ AC_DEFUN([AC_CXX_HAVE_FWD_ITERATOR],
 [AC_CACHE_CHECK(whether the compiler has forward iterators,
 ac_cv_cxx_have_fwd_iterator,
 [AC_REQUIRE([AC_CXX_NAMESPACES])
-  AC_LANG_SAVE
-  AC_LANG_CPLUSPLUS
-  AC_TRY_COMPILE([#include <iterator>
+  AC_LANG_PUSH([C++])
+  AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <iterator>
 #ifdef HAVE_NAMESPACES
 using namespace std;
-#endif],[forward_iterator<int,int> t; return 0;],
-  ac_cv_cxx_have_fwd_iterator=yes, ac_cv_cxx_have_fwd_iterator=no)
-  AC_LANG_RESTORE
+#endif]], [[forward_iterator<int,int> t; return 0;]])],[ac_cv_cxx_have_fwd_iterator=yes],[ac_cv_cxx_have_fwd_iterator=no])
+  AC_LANG_POP([C++])
 ])
-HAVE_FWD_ITERATOR=0
 if test "$ac_cv_cxx_have_fwd_iterator" = yes
 then
-   HAVE_FWD_ITERATOR=1
+   AC_DEFINE(HAVE_FWD_ITERATOR,1,[Have forward iterator])
+else
+   AC_DEFINE(HAVE_FWD_ITERATOR,0,[Does not have forward iterator])
 fi
-AC_SUBST(HAVE_FWD_ITERATOR)])
+])