Manpages

NAME

demangle, cplus_demangle − decode a C++ encoded symbol name

SYNOPSIS

cc [ flag ... ] file[ library ... ] -ldemangle

#include <demangle.h>

int cplus_demangle(const char *symbol, char *prototype, size_t size);

DESCRIPTION

The cplus_demangle() function decodes (demangles) a C++ linker symbol name (mangled name) into a (partial) C++ prototype, if possible. C++ mangled names may not have enough information to form a complete prototype.

The symbol string argument points to the input mangled name.

The prototype argument points to a user-specified output string buffer, of size bytes.

The cplus_demangle() function operates on mangled names generated by SPARCompilers C++ 3.0.1, 4.0.1, 4.1 and 4.2.

The cplus_demangle() function improves and replaces the demangle() function.

Refer to the CC.1, dem.1, and c++filt.1 manual pages in the /opt/SUNWspro/man/man1 directory. These pages are only available with the SPROcc package.

RETURN VALUES

The cplus_demangle() function returns the following values:

0

The symbol argument is a valid mangled name and prototype contains a (partial) prototype for the symbol.

DEMANGLE_ENAME

The symbol argument is not a valid mangled name and the content of prototype is a copy of the symbol.

DEMANGLE_ESPACE

The prototype output buffer is too small to contain the prototype (or the symbol), and the content of prototype is undefined.