X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/c21493b89f5f5dd49e1f46d311326d5d4f49f8a4..ce3448d5b9133a0e6d27d6d36d29f4f7a4316dc7:/m4/cxx.m4?ds=sidebyside diff --git a/m4/cxx.m4 b/m4/cxx.m4 index 695476d1..bae56520 100644 --- a/m4/cxx.m4 +++ b/m4/cxx.m4 @@ -25,16 +25,29 @@ AC_DEFUN([BISON_TEST_FOR_WORKING_CXX_COMPILER], AC_CACHE_CHECK([whether $CXX builds executables that work], bison_cv_cxx_works, [AC_LANG_PUSH([C++]) - AC_RUN_IFELSE( + bison_cv_cxx_works=no + AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [#include #include + #include + #include using namespace std;], [std::cerr << ""; - cout << "";])], - [bison_cv_cxx_works=yes], - [bison_cv_cxx_works=no], - [bison_cv_cxx_works=cross]) + cout << ""; + typedef std::pair uipair; + std::map m; + std::map::iterator i; + m.insert (uipair (4, -4)); + for (i = m.begin (); i != m.end (); ++i) + if (i->first != 4) + return 1;])], + [AS_IF([AC_TRY_COMMAND([$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_objext $LIBS >&AS_MESSAGE_LOG_FD])], + [AS_IF([test "$cross_compiling" = yes], + [bison_cv_cxx_works=cross], + [AS_IF([AC_TRY_COMMAND(./conftest$ac_exeext)], + [bison_cv_cxx_works=yes])])]) + rm -f conftest$ac_exeext]) AC_LANG_POP([C++])]) case $bison_cv_cxx_works in