NAME
tdfc2 - C to TDF/ANDF producer
SYNOPSIS
tdfc2 [ options ] [ input-file ] [ output-file ]
DESCRIPTION
In its default action, tdfc2 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, tdfc2 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.
tdfc2 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 tdfc2 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 tdfc2 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 tdfc2
using the -Wc,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 tdfc2 using the -Wc,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 tdfc2 for
included source files. No such directories are built into
tdfc2.
-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__ and __STDC_VERSION__.
-V Causes tdfc2 to print the name of each function to the standard
output as it is compiled.
-Woption
Causes tdfc2 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 tdfc2 before
bailing out to be number. The default is 32.
-a Causes tdfc2 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 tdfc2 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 tdfc2 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 tdfc2 to quit immediately without processing its input
file. This is useful primarily in version and option queries.
-sspec-file
Causes tdfc2 to write a C spec file describing the input source
file to spec-file.
-t Specifies that tdfc2 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 tdfc2 to print the unmangle forms of the given mangled
identifier names.
-v Causes tdfc2 to print its version number.
-w Disables all warning messages. This is equivalent to -mw.
-z Forces tdfc2 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), tcpplus(1).
tdfc2(1)