Google

Back to the Main Page. Download the M4 Source.

ac_cxx_have_long_long_for_iostream

Synopsis

AC_CXX_HAVE_LONG_LONG_FOR_IOSTREAM

Version

$2.0 09/04/2002$     C++_Support @ ac-archive-0.5.39

Author

Alain BARBET <alian@cpan.org>

Description

Check if the compiler allow long long for [i|o]stream Seems that OpenBSD / gcc-3 don't have it.

Eg:

   #include <iostream>
   #ifdef HAVE_SSTREAM
   #include <strstream>
   #else
   #include <sstream>
   #endif
   #ifdef HAVE_NAMESPACES
   using namespace std;
   #endif
   ostream str((streambuf *)0);
   long long lo=1;
   str <<
   #ifdef HAVE_LONG_LONG_FOR_IOSTREAM
     (long int)
   #endif
           lo;

M4 Source Code
AC_DEFUN([AC_CXX_HAVE_LONG_LONG_FOR_IOSTREAM],
[AC_CACHE_CHECK(whether the compiler allow long long for [i|o]stream,
ac_cv_cxx_have_ll_for_iostream,
[AC_REQUIRE([AC_CXX_NAMESPACES])
  AC_REQUIRE([AC_CXX_HAVE_SSTREAM])
  AC_LANG_SAVE
  AC_LANG_CPLUSPLUS
  AC_TRY_COMPILE([#include <iostream>
#ifdef HAVE_SSTREAM
#include <strstream>
#else
#include <sstream>
#endif
#ifdef HAVE_NAMESPACES
using namespace std;
#endif],[ ostream str((streambuf *)0); long long l=1; str << l; return 0;],
  ac_cv_cxx_have_ll_for_iostream=yes, ac_cv_cxx_have_ll_for_iostream=no)
  AC_LANG_RESTORE
])
if test "$ac_cv_cxx_have_ll_for_iostream" = yes; then
   AC_DEFINE(HAVE_LONG_LONG_FOR_IOSTREAM,,[define if the compiler allow long long for [i|o]stream])
fi
])