tdfc2(1)

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).