2 .\" Copyright (c) 1997 Sun Microsystems, Inc All Rights Reserved
3 .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
4 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
5 .\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
6 .TH DEMANGLE 3EXT "Mar 11, 1997"
8 demangle, cplus_demangle \- decode a C++ encoded symbol name
12 \fBcc\fR [ \fIflag\fR ... ] \fIfile\fR[ \fIlibrary\fR ... ] \fB-ldemangle\fR
18 \fBint\fR \fBcplus_demangle\fR(\fBconst char *\fR\fIsymbol\fR, \fBchar *\fR\fIprototype\fR, \fBsize_t\fR \fIsize\fR);
24 The \fBcplus_demangle()\fR function decodes (demangles) a C++ linker symbol
25 name (mangled name) into a (partial) C++ prototype, if possible. C++ mangled
26 names may not have enough information to form a complete prototype.
29 The \fIsymbol\fR string argument points to the input mangled name.
32 The \fIprototype\fR argument points to a user-specified output string buffer,
36 The \fBcplus_demangle()\fR function operates on mangled names generated by
37 SPARCompilers C++ 3.0.1, 4.0.1, 4.1 and 4.2.
40 The \fBcplus_demangle()\fR function improves and replaces the \fBdemangle()\fR
44 Refer to the \fBCC.1\fR, \fBdem.1\fR, and \fBc++filt.1\fR manual pages in the
45 \fB/opt/SUNWspro/man/man1\fR directory. These pages are only available with
50 The \fBcplus_demangle()\fR function returns the following values:
57 The \fIsymbol\fR argument is a valid mangled name and \fIprototype\fR contains
58 a (partial) prototype for the symbol.
64 \fB\fBDEMANGLE_ENAME\fR\fR
67 The \fIsymbol\fR argument is not a valid mangled name and the content of
68 \fIprototype\fR is a copy of the symbol.
74 \fB\fBDEMANGLE_ESPACE\fR\fR
77 The \fIprototype\fR output buffer is too small to contain the prototype (or the
78 symbol), and the content of \fIprototype\fR is undefined.