Abi.cc

Go to the documentation of this file.
00001 
00020 #include "Common/Compat.h"
00021 #include "Common/Abi.h"
00022 
00023 #ifdef __GXX_ABI_VERSION
00024 #include <cxxabi.h>
00025 #endif
00026 
00027 namespace Hypertable {
00028 
00029 String demangle(const String &mangled) {
00030 #ifdef __GXX_ABI_VERSION
00031   char debuf[1000];
00032   size_t len = sizeof(debuf);
00033   int ret;
00034   char *demangled = abi::__cxa_demangle(mangled.c_str(), debuf, &len, &ret);
00035 
00036   if (demangled)
00037     return demangled;
00038 
00039 #endif
00040   return mangled;
00041 }
00042 
00043 } // namespace Hypertable