Update to working version.
authorBrian Aker <brian@tangent.org>
Thu, 29 Nov 2012 05:58:17 +0000 (00:58 -0500)
committerBrian Aker <brian@tangent.org>
Thu, 29 Nov 2012 05:58:17 +0000 (00:58 -0500)
m4/ax_cxx_gcc_abi_demangle.m4

index 02c718ec89463ed4fc1ddd1ab3902db98e091afe..41ea469e157e38747ff8de7e900a513d09cb7d6d 100644 (file)
 #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])])