NAME
demangle, cplus_demangle, cplus_demangle_noret - decode a
C++ encoded symbol name
SYNOPSIS
cc [ flag ... ] file [ library ... ] -ldemangle
#include <demangle.h>
int cplus_demangle( const char *symbol, char *interpreta-
tion, size_t size );
DESCRIPTION
cplus_demangle() interprets (demangles) an encoded C++
linker symbol name (mangled name).
cplus_demangle_noret() does the same, except that return
types for function symbols are not included in the interpre-
tation.
Some C++ linker symbol names are not encoded. In these cases
the return value is DEMANGLE_ENAME.
The symbol string parameter points to the linker symbol
name.
The interpretation parameter points to a user-specified out-
put string buffer, of size bytes.
cplus_demangle() and cplus_demangle_noret() have the follow-
ing return values:
0 The symbol parameter is a valid
encoded name and interpretation
contains the decoded name.
DEMANGLE_ENAME Either the symbol parameter is not
an encoded name or the symbol
parameter is an incorrectly encoded
name.
The content of the interpretation
buffer is a copy of the content of
symbol.
DEMANGLE_ESPACE The interpretation output buffer is
too small to contain the interpre-
tation (either the decoded name or
the linker symbol name).
The content of the interpretation
buffer is undefined.
cplus_demangle() and cplus_demangle_noret() operate on names
encoded by the Sun WorkShop C++ compiler versions 3.0.1,
4.0.1, 4.1, 4.2, 5.0, 5.1 and 5.2.
cplus_demangle() and cplus_demangle_noret() improve upon and
replace demangle().
SEE ALSO
CC(1), dem(1), c++filt(1)