


c++filt(1)            GNU Development Tools            c++filt(1)


NAME
       c++filt - demangle C++ symbols


SYNOPSIS
       c++filt
              [-_|--strip-underscores] [-s {gnu,lucid,arm,hp,edg}
              | --format={gnu,lucid,arm,hp,edg}] [--help]
              [--version] [symbol...]

DESCRIPTION
       The C++ language provides function overloading, which
       means that you can write many functions with the same name
       (providing each takes parameters of different types).  All
       C++ function names are encoded into a low-level assembly
       label (this process is known as mangling).  The c++filt
       program does the inverse mapping: it decodes (demangles)
       low-level names into user-level names so that the linker
       can keep these overloaded functions from clashing.

       Every alphanumeric word (consisting of letters, digits,
       underscores, dollars, or periods) seen in the input is a
       potential label.  If the label decodes into a C++ name,
       the C++ name replaces the low-level name in the output.

       You can use c++filt to decipher individual symbols by
       specifying these symbols on the command line.

       If no symbol arguments are given, c++filt reads symbol
       names from the standard input and writes the demangled
       names to the standard output.  All results are printed on
       the standard output.

OPTIONS
       -_

       --strip-underscores
              On some systems, both the C and C++ compilers put
              an underscore in front of every name.  For example,
              the C name foo gets the low-level name _foo.  This
              option removes the leading underscore.


       -s {gnu,lucid,arm,hp,edg}

       --format={gnu,lucid,arm,hp,edg}
              GNU nm can decode five different methods of
              mangling, used by different C++ compilers.  This
              option selects which method it uses: the one used
              by the GNU compiler, the one used by the Lucid
              compiler, the one specified by the C++ Annotated
              Reference Manual, the one used by the HP compiler
              and the one used by the EDG compiler.  The default
              is the GNU style.



cygnus support              June 1993                           1





c++filt(1)            GNU Development Tools            c++filt(1)


       --help Print a summary of the options to c++filt and exit.


       --version
              Print the version number of c++filt and exit.


SEE ALSO
       `binutils' entry in info; The GNU Binary Utilities, Roland
       H. Pesch (June 1993).


COPYING
       Copyright (c) 1993 Free Software Foundation, Inc.

       Permission is granted to make and distribute verbatim
       copies of this manual provided the copyright notice and
       this permission notice are preserved on all copies.

       Permission is granted to copy and distribute modified
       versions of this manual under the conditions for verbatim
       copying, provided that the entire resulting derived work
       is distributed under the terms of a permission notice
       identical to this one.

       Permission is granted to copy and distribute translations
       of this manual into another language, under the above
       conditions for modified versions, except that this
       permission notice may be included in translations approved
       by the Free Software Foundation instead of in the original
       English.


























cygnus support              June 1993                           2


