Return distinctive error messages as symbols instead of a generic one
This commit is contained in:
parent
8722a4a0f9
commit
6e58ffc372
2 changed files with 4 additions and 4 deletions
|
@ -39,7 +39,7 @@ const char * get_symbol(std::function<T(U...)> f)
|
||||||
return _demangle_symbol(f.target_type().name());
|
return _demangle_symbol(f.target_type().name());
|
||||||
#else
|
#else
|
||||||
(void)f;
|
(void)f;
|
||||||
return SYMBOL_UNKNOWN;
|
return "DISABLED__get_symbol";
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -26,10 +26,10 @@ const char * _demangle_symbol(const char * mangled)
|
||||||
demangled = abi::__cxa_demangle(mangled, NULL, 0, &status);
|
demangled = abi::__cxa_demangle(mangled, NULL, 0, &status);
|
||||||
// Use demangled symbol if possible
|
// Use demangled symbol if possible
|
||||||
const char * demangled_val = (status == 0 ? demangled : mangled);
|
const char * demangled_val = (status == 0 ? demangled : mangled);
|
||||||
return demangled_val != 0 ? demangled_val : SYMBOL_UNKNOWN;
|
return demangled_val != 0 ? demangled_val : "UNKNOWN_demangling_failed";
|
||||||
#else
|
#else
|
||||||
(void)mangled;
|
(void)mangled;
|
||||||
return SYMBOL_UNKNOWN;
|
return "DISABLED__demangle_symbol";
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -43,6 +43,6 @@ const char * _get_symbol_funcptr(void * funcptr)
|
||||||
return _demangle_symbol(info.dli_sname);
|
return _demangle_symbol(info.dli_sname);
|
||||||
#else
|
#else
|
||||||
(void)funcptr;
|
(void)funcptr;
|
||||||
return SYMBOL_UNKNOWN;
|
return "DISABLED__get_symbol_funcptr";
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue