NAME
tcpplus - C++ to TDF/ANDF producer
SYNOPSIS
tcpplus [ options ] [ input-file ] [ output-file ]
DESCRIPTION
In its default action, tcpplus translates the input C++ source file,
input-file, into a TDF/ANDF capsule, output-file. If the output file
name is omitted or is -, the standard output is used. If the input
file name is omitted or is -, the standard input is used.
By use of the -sspec-file option, tcpplus can additionally be made to
output a C++ spec file which contains information enabling intermodule
analysis to be performed. Alternatively usage and error information
suitable for processing by other tools can be output using the
-dopt=dump-file option.
tcpplus also has a preprocessing action, when invoked with the -E
option, in which the input C++ source file, input-file, is preprocessed
to an output file, ouput-file.
Finally tcpplus has a spec linker action, when invoked with the -S
option, in which any number of spec input files, input-file, are
combined into a spec output file, which may be specified using the -s
option. Any extra code generation resulting from this linking phase is
written to the TDF capsule, output-file.
It is recommended that tcpplus is invoked via tcc(1). The -Yc++ option
is required to enable the C++ capabilities. Files with a .C suffix are
recognised as C++ source files. Options can be passed directly to
tcpplus using the -Wx,opt option to tcc.
OPTIONS
The command-line options can appear in any order and can be
interspersed with the input and output files. All the multi-part
options can be given either as one or two command-line arguments, so
that -Idir and -I dir are equivalent. Most of the option handling
required is handled by tcc(1) when this is being used, but options may
be passed directly to tcpplus using the -Wx,opt option.
-Apredicate(tokens)
Asserts that the given predicate is true. The special case -A-
undefines all the built-in predicates (of which there are none).
-Dmacro
Defines the given macro to be 1.
-Dmacro=tokens
Defines the given macro to be the given sequence of
preprocessing tokens.
-E Enables preprocessing mode in which the input C++ source file is
preprocessed into the output file.
-Ffile Causes a list of options to be read from file.
-H Enables verbose inclusion mode in which warnings are printed at
the start and the end of each included source file.
-Idirectory
Adds the given directory to the list searched by tcpplus for
included source files. No such directories are built into
tcpplus.
-Nname:directory
Is identical to -Idirectory except that it also associates the
given identifier with the directory.
-S Enables spec linker mode in which any number of C++ spec input
files are linked into a single C++ spec output file.
-Umacro
Undefines the given macro. The special case -U- undefines all
the built-in macros. These are __FILE__, __LINE__, __TIME__,
__DATE__, __STDC__, __STDC_VERSION__, and __cplusplus.
-V Causes tcpplus to print the name of each function to the
standard output as it is compiled.
-Woption
Causes tcpplus to print a warning in the circumstances described
by option. The special case -Wall enables a wide range of
warnings.
-X Disables exception handling. The current implementation can be
a large run-time overhead if not required. The effect of
linking any module compiled with this option with a module which
throws an exception is undefined. This is equivalent to -j-e.
-Znumber
Sets the maximum number of errors printed by tcpplus before
bailing out to be number. The default is 32.
-a Causes tcpplus to apply complete program analysis to its input
files. That is it assumes that no other translation units need
to be linked in order for the program to execute.
-c Disables TDF output. The output file will still be a valid TDF
capsule, only it will contain no information. This is
equivalent to -j-c.
-dopt=dump-file
Causes tcpplus to dump information about its input file into
dump-file. opt is a series of characters describing the
information to be dumped; c for string literals, e for errors, h
for header files, k for keywords, l for local variables, m for
macros, s for scopes, and u for usage. a is equivalent to
ehlmu.
-efile Specifies the given file as an end-up file. This is equivalent
to adding a #include directive for this file at the end of the
input source file.
-ffile Specifies the given file as a start-up file. This is equivalent
to adding a #include directive for this file at the start of the
input source file.
-g Specifies that the output TDF capsule should also contain
information to allow for the generation of run-time debugging
directives. This is equivalent to -jg.
-h Causes tcpplus to print a full list of its available command-
line options. This includes a number not documented here which
are unlikely to prove useful to the normal user.
-jopt Sets the TDF output options given by opt.
-mopt Sets the error formatting options given by opt.
-nport-table
Specifies that the given portability table should be used to
specify the basic configuration parameters.
-ooutput-file
Gives an alternative method of specifying the output file.
-q Causes tcpplus to quit immediately without processing its input
file. This is useful primarily in version and option queries.
-sspec-file
Causes tcpplus to write a C++ spec file describing the input
source file to spec-file.
-t Specifies that tcpplus should include token declarations in its
output TDF capsule. While these are strictly unnecessary, they
help when pretty-printing the output. This is equivalent to
-jt.
-u name ... name
Causes tcpplus to print the unmangle forms of the given mangled
identifier names.
-v Causes tcpplus to print its version number.
-w Disables all warning messages. This is equivalent to -mw.
-z Forces tcpplus to produce an output file even if compilation
errors occur. The effect of installing a TDF capsule produced
using this option is undefined. This is equivalent to -mz.
SEE ALSO
tcc(1), tdfc(1).
tcpplus(1)