## SYNOPSIS

           c++filt [-_|--strip-underscores]
                   [-j|--java]
                   [-n|--no-strip-underscores]
                   [-s format|--format=format]
                   [--help]  [--version]  [symbol...]

## DESCRIPTION

           The  C++ and Java languages provides function overloading,
           which means that you can write  many  functions  with  the
           same  name  (providing  each takes parameters of different
           types).  All C++ and Java function names are encoded  into
           a  low-level assembly label (this process is known as man
           gling). The c++filt [1] program does the inverse  mapping:
           it  decodes  (demangles)  low-level  names into user-level
           names so that the linker can keep these  overloaded  func
           tions 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:

                   c++filt <symbol>

           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  initial   underscore.    Whether
               c++filt  removes  the  underscore by default is target
               dependent.

           -j
           --java
               Prints demangled names using Java syntax.  The default
               is to use C++ syntax.

           -n
           --no-strip-underscores
               Do not remove the initial underscore.

           -s format
                   Manual

               "hp"
                   the one used by the HP compiler

               "edg"
                   the one used by the EDG compiler

               "gnu-v3"
                   the one used by the GNU compiler with the new ABI.

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

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

## FOOTNOTES

           1.  MS-DOS does not allow "+" characters in file names, so
               on MS-DOS this program is named c++filt.

## SEE ALSO

           the Info entries for binutils.

## COPYRIGHT

           Copyright  (c) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000,
           2001, 2002 Free Software Foundation, Inc.

           Permission is granted to copy,  distribute  and/or  modify
           this  document  under the terms of the GNU Free Documenta
           tion License, Version 1.1 or any later  version  published
           by  the  Free  Software Foundation; with no Invariant Sec
           tions, with no Front-Cover Texts, and with  no  Back-Cover
           Texts.   A  copy of the license is included in the section
           entitled "GNU Free Documentation License".

    binutils-2.13.90.0.18       2003-03-13                 C++FILT(1)