diff options
author | David Chisnall <dchisnall@pathscale.com> | 2011-09-29 16:12:19 +0100 |
---|---|---|
committer | David Chisnall <dchisnall@pathscale.com> | 2011-09-29 16:12:19 +0100 |
commit | f203ee80a527906857f623949e43fe2f65c1c1e8 (patch) | |
tree | a22888bdd3e6844cf23503c5c4fae94f206d6e41 /src/cxxabi.h | |
parent | 482805524fe0480c2e1ec879b2488917ac92d78e (diff) | |
download | libcxxrt-f203ee80a527906857f623949e43fe2f65c1c1e8.tar.gz libcxxrt-f203ee80a527906857f623949e43fe2f65c1c1e8.tar.bz2 libcxxrt-f203ee80a527906857f623949e43fe2f65c1c1e8.tar.xz |
Added demangler interface to the header.
Diffstat (limited to 'src/cxxabi.h')
-rw-r--r-- | src/cxxabi.h | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/src/cxxabi.h b/src/cxxabi.h index 375287c..ce4b442 100644 --- a/src/cxxabi.h +++ b/src/cxxabi.h @@ -180,7 +180,23 @@ void __cxa_increment_exception_refcount(void* thrown_exception); * exception_ptr is deleted. */ void __cxa_decrement_exception_refcount(void* thrown_exception); - +/** + * Demangles a C++ symbol or type name. The buffer, if non-NULL, must be + * allocated with malloc() and must be *n bytes or more long. This function + * may call realloc() on the value pointed to by buf, and will return the + * length of the string via *n. + * + * The value pointed to by status is set to one of the following: + * + * 0: success + * -1: memory allocation failure + * -2: invalid mangled name + * -3: invalid arguments + */ +char* __cxa_demangle(const char* mangled_name, + char* buf, + size_t* n, + int* status); #ifdef __cplusplus } // extern "C" } // namespace |