Under z/OS® batch

The CXXFILT utility accepts input by two methods: from stdin or from a file.

Example: The following example uses the CXXFILT cataloged procedure, from data set CBC.SCBCPRC. CXXFILT reads from stdin (sysin), treats mangled names as regular names, produces a symbol mapping, and uses a field width 15 characters. The JCL follows:
//RUN EXEC CXXFILT,CXXPARM='(SYMMAP WIDTH(15)'
⋮
//SYSIN DD *
pr__3FOOFvxxxx
__ls__7ostreamFPCc
__vft1X
/*
The output is:
FOO::pr()      xxxx
ostream::operator<<(const char*)
__vft1X


C++ Symbol Mapping

demangled                                      mangled
---------                                      -------
FOO::pr()                                      pr__3FOOFv
ostream::operator<<(const char*)               __ls__7ostreamFPCs
Notes:
  1. Because the trailing characters xxxx in the input name pr__3FOOFvxxxx are not part of a valid mangled name, and the SIDEBYSIDE option is not on, the trailing characters are not demangled.
    Note: In the symbol mappings, the trailing characters xxxx are not displayed.
  2. The _vft1X input is not demangled and does not appear in the symbol mapping because it is a special name, and the SPECIALNAME option was not specified.

The second method of giving input to CXXFILT is to supply it in one or more files. Fixed and variable file record formats are supported. Each line of a file can have one or more names separated by space. In the example below, mangled names are treated either as regular names or as special names (the special names are compiler-generated symbol names). Demangled names are printed in fields 35 characters wide, and output is in side-by-side format.

The output contains the following two mangled names:
pr__3FOOFv
__vft1X
You can use the following JCL:
//RUN EXEC CXXFILT,CXXPARM='FILE1 (SPECIALNAME WIDTH(35) SIDEBYSIDE'

The CXXFILT utility terminates when it reads the end-of-file terminator.