summaryrefslogtreecommitdiff
path: root/include/gtest/internal/gtest-type-util.h.pump
diff options
context:
space:
mode:
Diffstat (limited to 'include/gtest/internal/gtest-type-util.h.pump')
-rw-r--r--include/gtest/internal/gtest-type-util.h.pump11
1 files changed, 8 insertions, 3 deletions
diff --git a/include/gtest/internal/gtest-type-util.h.pump b/include/gtest/internal/gtest-type-util.h.pump
index b69ce6e..27f331d 100644
--- a/include/gtest/internal/gtest-type-util.h.pump
+++ b/include/gtest/internal/gtest-type-util.h.pump
@@ -49,6 +49,8 @@ $var n = 50 $$ Maximum length of type lists we want to support.
// libstdc++ (which is where cxxabi.h comes from).
# ifdef __GLIBCXX__
# include <cxxabi.h>
+# elif defined(__HP_aCC)
+# include <acxx_demangle.h>
# endif // __GLIBCXX__
namespace testing {
@@ -62,17 +64,20 @@ String GetTypeName() {
# if GTEST_HAS_RTTI
const char* const name = typeid(T).name();
-# ifdef __GLIBCXX__
+# if defined(__GLIBCXX__) || defined(__HP_aCC)
int status = 0;
// gcc's implementation of typeid(T).name() mangles the type name,
// so we have to demangle it.
- char* const readable_name = abi::__cxa_demangle(name, 0, 0, &status);
+# ifdef __GLIBCXX__
+ using abi::__cxa_demangle;
+# endif // __GLIBCXX__
+ char* const readable_name = __cxa_demangle(name, 0, 0, &status);
const String name_str(status == 0 ? readable_name : name);
free(readable_name);
return name_str;
# else
return name;
-# endif // __GLIBCXX__
+# endif // __GLIBCXX__ || __HP_aCC
# else