Individual autoconf function broken out of acincludes.m4. This change
[oota-llvm.git] / autoconf / m4 / cxx_bidi_iterator.m4
diff --git a/autoconf/m4/cxx_bidi_iterator.m4 b/autoconf/m4/cxx_bidi_iterator.m4
new file mode 100644 (file)
index 0000000..e16976d
--- /dev/null
@@ -0,0 +1,23 @@
+#
+# Check for bidirectional iterator extension.  This is modified from
+# http://www.gnu.org/software/ac-archive/htmldoc/ac_cxx_have_ext_hash_set.html
+#
+AC_DEFUN([AC_CXX_HAVE_BI_ITERATOR],
+[AC_CACHE_CHECK(whether the compiler has the bidirectional iterator,
+ac_cv_cxx_have_bi_iterator,
+[AC_REQUIRE([AC_CXX_NAMESPACES])
+  AC_LANG_SAVE
+  AC_LANG_CPLUSPLUS
+  AC_TRY_COMPILE([#include <iterator>
+#ifdef HAVE_NAMESPACES
+using namespace std;
+#endif],[bidirectional_iterator<int,int> t; return 0;],
+  ac_cv_cxx_have_bi_iterator=yes, ac_cv_cxx_have_bi_iterator=no)
+  AC_LANG_RESTORE
+])
+HAVE_BI_ITERATOR=0
+if test "$ac_cv_cxx_have_bi_iterator" = yes
+then
+   HAVE_BI_ITERATOR=1
+fi
+AC_SUBST(HAVE_BI_ITERATOR)])