


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


NNAAMMEE
       c++filt - demangle C++ symbols


SSYYNNOOPPSSIISS
       cc++++ffiilltt
              [--__|----ssttrriipp--uunnddeerrssccoorreess] [--ss {{ggnnuu,,lluucciidd,,aarrmm}} |
              ----ffoorrmmaatt=={{ggnnuu,,lluucciidd,,aarrmm}}] [----hheellpp] [----vveerrssiioonn]
              [ssyymmbbooll...]

DDEESSCCRRIIPPTTIIOONN
       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 _m_a_n_g_l_i_n_g).  The cc++++ffiilltt
       program does the inverse mapping: it decodes (_d_e_m_a_n_g_l_e_s)
       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c++++ffiilltt to decipher individual symbols by
       specifying these symbols on the command line.

       If no ssyymmbbooll arguments are given, cc++++ffiilltt reads symbol
       names from the standard input and writes the demangled
       names to the standard output.  All results are printed on
       the standard output.

OOPPTTIIOONNSS
       --__

       ----ssttrriipp--uunnddeerrssccoorreess
              On some systems, both the C and C++ compilers put
              an underscore in front of every name.  For example,
              the C name ffoooo gets the low-level name __ffoooo.  This
              option removes the leading underscore.


       --ss {{ggnnuu,,lluucciidd,,aarrmm}}

       ----ffoorrmmaatt=={{ggnnuu,,lluucciidd,,aarrmm}}
              GNU nnmm can decode three 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, or the one specified by the C++ Annotated
              Reference Manual.  The default is the GNU style.





cygnus support              June 1993                           1





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


       ----hheellpp Print a summary of the options to cc++++ffiilltt and exit.


       ----vveerrssiioonn
              Print the version number of cc++++ffiilltt and exit.


SSEEEE AALLSSOO
       `bbiinnuuttiillss' entry in iinnffoo; _T_h_e _G_N_U _B_i_n_a_r_y _U_t_i_l_i_t_i_e_s, Roland
       H. Pesch (June 1993).


CCOOPPYYIINNGG
       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


