summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDavid Chisnall <dchisnall@pathscale.com>2011-09-29 16:12:19 +0100
committerDavid Chisnall <dchisnall@pathscale.com>2011-09-29 16:12:19 +0100
commitf203ee80a527906857f623949e43fe2f65c1c1e8 (patch)
treea22888bdd3e6844cf23503c5c4fae94f206d6e41 /src
parent482805524fe0480c2e1ec879b2488917ac92d78e (diff)
downloadlibcxxrt-f203ee80a527906857f623949e43fe2f65c1c1e8.tar.gz
libcxxrt-f203ee80a527906857f623949e43fe2f65c1c1e8.tar.bz2
libcxxrt-f203ee80a527906857f623949e43fe2f65c1c1e8.tar.xz
Added demangler interface to the header.
Diffstat (limited to 'src')
-rw-r--r--src/cxxabi.h18
-rw-r--r--src/typeinfo.cc13
2 files changed, 17 insertions, 14 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
diff --git a/src/typeinfo.cc b/src/typeinfo.cc
index b0deb8b..fab4015 100644
--- a/src/typeinfo.cc
+++ b/src/typeinfo.cc
@@ -46,19 +46,6 @@ ABI_NAMESPACE::__pointer_to_member_type_info::~__pointer_to_member_type_info() {
// From libelftc
extern "C" char *__cxa_demangle_gnu3(const char *);
-/**
- * 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
- */
extern "C" char* __cxa_demangle(const char* mangled_name,
char* buf,
size_t* n,