| 24 | } // anonymous namespace |
| 25 | |
| 26 | const char* NPrivate::TCppDemangler::Demangle(const char* name) { |
| 27 | #ifndef __GNUC__ |
| 28 | return name; |
| 29 | #else |
| 30 | int status; |
| 31 | TmpBuf_.Reset(__cxxabiv1::__cxa_demangle(name, nullptr, nullptr, &status)); |
| 32 | |
| 33 | if (!TmpBuf_) { |
| 34 | return name; |
| 35 | } |
| 36 | |
| 37 | return TmpBuf_.Get(); |
| 38 | #endif |
| 39 | } |
| 40 | |
| 41 | static TString CppDemangleImpl(const char* name) { |
| 42 | return NPrivate::TCppDemangler().Demangle(name); |
no test coverage detected