summaryrefslogtreecommitdiff
path: root/m4
diff options
context:
space:
mode:
authorBrian Aker <brian@tangent.org>2012-11-29 00:58:17 -0500
committerBrian Aker <brian@tangent.org>2012-11-29 00:58:17 -0500
commitf6311a607d957bee75d6cf402098eeb06cd7f0be (patch)
tree68c73579c3bab573b27d9db9924e8e6be4df1c36 /m4
parent02e76bdf89bf11934a8c47a9c2d67dc67952b73b (diff)
downloadlibmemcached-f6311a607d957bee75d6cf402098eeb06cd7f0be.tar.gz
Update to working version.
Diffstat (limited to 'm4')
-rw-r--r--m4/ax_cxx_gcc_abi_demangle.m424
1 files changed, 14 insertions, 10 deletions
diff --git a/m4/ax_cxx_gcc_abi_demangle.m4 b/m4/ax_cxx_gcc_abi_demangle.m4
index 02c718ec..41ea469e 100644
--- a/m4/ax_cxx_gcc_abi_demangle.m4
+++ b/m4/ax_cxx_gcc_abi_demangle.m4
@@ -27,26 +27,30 @@
#serial 9
AC_DEFUN([AX_CXX_GCC_ABI_DEMANGLE],
- [AC_CACHE_CHECK([whether the compiler supports GCC C++ ABI name demangling],
+ [AC_PREREQ([2.63])dnl
+ AC_CACHE_CHECK([whether the compiler supports GCC C++ ABI name demangling],
[ax_cv_cxx_gcc_abi_demangle],
[AC_LANG_PUSH([C++])
- AC_RUN_IFELSE([AC_LANG_PROGRAM([#include <typeinfo>
+ AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include <typeinfo>
#include <cxxabi.h>
#include <cstdlib>
-#include <string>],
- [template<typename TYPE>
- class A {};
- ],[A<int> instance;
+#include <string>
+ template<typename TYPE>
+ class A {};]],
+ [[A<int> instance;
int status = 0;
char* c_name = abi::__cxa_demangle(typeid(instance).name(), 0, 0, &status);
std::string name(c_name);
::free(c_name);
- return name == "A<int>";
- ])],[ax_cv_cxx_gcc_abi_demangle=yes],
- [ax_cv_cxx_gcc_abi_demangle=no],
- [ax_cv_cxx_gcc_abi_demangle=no])
+ if (name.compare("A<int>") != 0)
+ {
+ return EXIT_FAILURE;
+ }]])],
+ [ax_cv_cxx_gcc_abi_demangle=yes],
+ [ax_cv_cxx_gcc_abi_demangle=no],
+ [ax_cv_cxx_gcc_abi_demangle=no])
AC_LANG_POP])
AS_IF([test "x$ax_cv_cxx_gcc_abi_demangle" = xyes],
[AC_DEFINE([HAVE_GCC_ABI_DEMANGLE],[1],[define if the compiler supports GCC C++ ABI name demangling])])