Subversion Repositories tendra.SVN

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 7u83 1
.\" 		 Crown Copyright (c) 1997
2
.\" 
3
.\" This TenDRA(r) Manual Page is subject to Copyright
4
.\" owned by the United Kingdom Secretary of State for Defence
5
.\" acting through the Defence Evaluation and Research Agency
6
.\" (DERA).  It is made available to Recipients with a
7
.\" royalty-free licence for its use, reproduction, transfer
8
.\" to other parties and amendment for any purpose not excluding
9
.\" product development provided that any such use et cetera
10
.\" shall be deemed to be acceptance of the following conditions:-
11
.\" 
12
.\"     (1) Its Recipients shall ensure that this Notice is
13
.\"     reproduced upon any copies or amended versions of it;
14
.\" 
15
.\"     (2) Any amended version of it shall be clearly marked to
16
.\"     show both the nature of and the organisation responsible
17
.\"     for the relevant amendment or amendments;
18
.\" 
19
.\"     (3) Its onward transfer from a recipient to another
20
.\"     party shall be deemed to be that party's acceptance of
21
.\"     these conditions;
22
.\" 
23
.\"     (4) DERA gives no warranty or assurance as to its
24
.\"     quality or suitability for any purpose and DERA accepts
25
.\"     no liability whatsoever in relation to any use to which
26
.\"     it may be put.
27
.\"
28
.TH tcpplus 1
29
.SH NAME
30
tcpplus \- C++ to TDF/ANDF producer
31
.SH SYNOPSIS
32
\fBtcpplus\fR [ \fIoptions\fR ] [ \fIinput-file\fR ] [ \fIoutput-file\fR ]
33
.\" ----------------------------------------------------------------------
34
.SH DESCRIPTION
35
In its default action, \fBtcpplus\fR translates the input C++ source
36
file, \fIinput-file\fR, into a TDF/ANDF capsule, \fIoutput-file\fR.  If
37
the output file name is omitted or is \fB-\fR, the standard output is used.
38
If the input file name is omitted or is \fB-\fR, the standard input is
39
used.
40
.PP
41
By use of the \fB-s\fIspec-file\fR option, \fBtcpplus\fR can additionally
42
be made to output a C++ spec file which contains information enabling
43
intermodule analysis to be performed.  Alternatively usage and error
44
information suitable for processing by other tools can be output using
45
the \fB-d\fIopt\fB=\fIdump-file\fR option.
46
.PP
47
\fBtcpplus\fR also has a preprocessing action, when invoked with the
48
\fB-E\fR option, in which the input C++ source file, \fIinput-file\fR,
49
is preprocessed to an output file, \fIouput-file\fR.
50
.PP
51
Finally \fBtcpplus\fR has a spec linker action, when invoked with the
52
\fB-S\fR option, in which any number of spec input files, \fIinput-file\fR,
53
are combined into a spec output file, which may be specified using the
54
\fB-s\fR option.  Any extra code generation resulting from this linking
55
phase is written to the TDF capsule, \fIoutput-file\fR.
56
.PP
57
It is recommended that \fBtcpplus\fR is invoked via \fItcc\fR(1).
58
The \fB-Yc++\fR option is required to enable the C++ capabilities.
59
Files with a \fB.C\fR suffix are recognised as C++ source files.
60
Options can be passed directly to \fBtcpplus\fR using the
61
\fB-Wx,\fIopt\fR option to \fItcc\fR.
62
.\" ----------------------------------------------------------------------
63
.SH OPTIONS
64
.PP
65
The command-line options can appear in any order and can be interspersed
66
with the input and output files.  All the multi-part options can be
67
given either as one or two command-line arguments, so that \fB-I\fIdir\fR
68
and \fB-I\fR \fIdir\fR are equivalent.  Most of the option handling
69
required is handled by \fItcc\fR(1) when this is being used, but
70
options may be passed directly to \fBtcpplus\fR using the \fB-Wx,\fIopt\fR
71
option.
72
.\" ----------------------------------------------------------------------
73
.IP \fB-A\fIpredicate\fB(\fItokens\fB)\fR
74
Asserts that the given predicate is true.  The special case \fB-A-\fR
75
undefines all the built-in predicates (of which there are none).
76
.\" ----------------------------------------------------------------------
77
.IP \fB-D\fImacro\fR
78
Defines the given macro to be 1.
79
.\" ----------------------------------------------------------------------
80
.IP \fB-D\fImacro\fB=\fItokens\fR
81
Defines the given macro to be the given sequence of preprocessing tokens.
82
.\" ----------------------------------------------------------------------
83
.IP \fB-E\fR
84
Enables preprocessing mode in which the input C++ source file is
85
preprocessed into the output file.
86
.\" ----------------------------------------------------------------------
87
.IP \fB-F\fIfile\fR
88
Causes a list of options to be read from \fIfile\fR.
89
.\" ----------------------------------------------------------------------
90
.IP \fB-H\fR
91
Enables verbose inclusion mode in which warnings are printed at the
92
start and the end of each included source file.
93
.\" ----------------------------------------------------------------------
94
.IP \fB-I\fIdirectory\fR
95
Adds the given directory to the list searched by \fBtcpplus\fR for
96
included source files.  No such directories are built into \fBtcpplus\fR.
97
.\" ----------------------------------------------------------------------
98
.IP \fB-N\fIname\fB:\fIdirectory\fR
99
Is identical to \fB-I\fIdirectory\fR except that it also associates the
100
given identifier with the directory.
101
.\" ----------------------------------------------------------------------
102
.IP \fB-S\fR
103
Enables spec linker mode in which any number of C++ spec input files are
104
linked into a single C++ spec output file.
105
.\" ----------------------------------------------------------------------
106
.IP \fB-U\fImacro\fR
107
Undefines the given macro.  The special case \fB-U-\fR undefines all the
108
built-in macros.  These are \fB__FILE__\fR, \fB__LINE__\fR,
109
\fB__TIME__\fR, \fB__DATE__\fR, \fB__STDC__\fR, \fB__STDC_VERSION__\fR,
110
and \fB__cplusplus\fR.
111
.\" ----------------------------------------------------------------------
112
.IP \fB-V\fR
113
Causes \fBtcpplus\fR to print the name of each function to the standard
114
output as it is compiled.
115
.\" ----------------------------------------------------------------------
116
.IP \fB-W\fIoption\fR
117
Causes \fBtcpplus\fR to print a warning in the circumstances described
118
by \fIoption\fR.  The special case \fB-Wall\fR enables a wide range of
119
warnings.
120
.\" ----------------------------------------------------------------------
121
.IP \fB-X\fR
122
Disables exception handling.  The current implementation can be a large
123
run-time overhead if not required.  The effect of linking any module
124
compiled with this option with a module which throws an exception is
125
undefined.  This is equivalent to \fB-j-e\fR.
126
.\" ----------------------------------------------------------------------
127
.IP \fB-Z\fInumber\fR
128
Sets the maximum number of errors printed by \fBtcpplus\fR before
129
bailing out to be \fInumber\fR.  The default is 32.
130
.\" ----------------------------------------------------------------------
131
.IP \fB-a\fR
132
Causes \fBtcpplus\fR to apply complete program analysis to its input
133
files.  That is it assumes that no other translation units need to be
134
linked in order for the program to execute.
135
.\" ----------------------------------------------------------------------
136
.IP \fB-c\fR
137
Disables TDF output.  The output file will still be a valid TDF capsule,
138
only it will contain no information.  This is equivalent to \fB-j-c\fR.
139
.\" ----------------------------------------------------------------------
140
.IP \fB-d\fIopt\fB=\fIdump-file\fR
141
Causes \fBtcpplus\fR to dump information about its input file into
142
\fIdump-file\fR.  \fIopt\fR is a series of characters describing the
143
information to be dumped; \fBc\fR for string literals, \fBe\fR for errors,
144
\fBh\fR for header files, \fBk\fR for keywords, \fBl\fR for local variables,
145
\fBm\fR for macros, \fBs\fR for scopes, and \fBu\fR for usage.  \fBa\fR is
146
equivalent to \fBehlmu\fR.
147
.\" ----------------------------------------------------------------------
148
.IP \fB-e\fIfile\fR
149
Specifies the given file as an end-up file.  This is equivalent to
150
adding a \fB#include\fR directive for this file at the end of the input
151
source file.
152
.\" ----------------------------------------------------------------------
153
.IP \fB-f\fIfile\fR
154
Specifies the given file as a start-up file.  This is equivalent to
155
adding a \fB#include\fR directive for this file at the start of the input
156
source file.
157
.\" ----------------------------------------------------------------------
158
.IP \fB-g\fR
159
Specifies that the output TDF capsule should also contain information
160
to allow for the generation of run-time debugging directives.  This
161
is equivalent to \fB-jg\fR.
162
.\" ----------------------------------------------------------------------
163
.IP \fB-h\fR
164
Causes \fBtcpplus\fR to print a full list of its available command-line
165
options.  This includes a number not documented here which are unlikely
166
to prove useful to the normal user.
167
.\" ----------------------------------------------------------------------
168
.IP \fB-j\fIopt\fR
169
Sets the TDF output options given by \fIopt\fR.
170
.\" ----------------------------------------------------------------------
171
.IP \fB-m\fIopt\fR
172
Sets the error formatting options given by \fIopt\fR.
173
.\" ----------------------------------------------------------------------
174
.IP \fB-n\fIport-table\fR
175
Specifies that the given portability table should be used to specify
176
the basic configuration parameters.
177
.\" ----------------------------------------------------------------------
178
.IP \fB-o\fIoutput-file\fR
179
Gives an alternative method of specifying the output file.
180
.\" ----------------------------------------------------------------------
181
.IP \fB-q\fR
182
Causes \fBtcpplus\fR to quit immediately without processing its input
183
file.  This is useful primarily in version and option queries.
184
.\" ----------------------------------------------------------------------
185
.IP \fB-s\fIspec-file\fR
186
Causes \fBtcpplus\fR to write a C++ spec file describing the input source
187
file to \fIspec-file\fR.
188
.\" ----------------------------------------------------------------------
189
.IP \fB-t\fR
190
Specifies that \fBtcpplus\fR should include token declarations in its
191
output TDF capsule.  While these are strictly unnecessary, they help when
192
pretty-printing the output.  This is equivalent to \fB-jt\fR.
193
.\" ----------------------------------------------------------------------
194
.IP \fB-u\fI\ name\ ...\ name\fR
195
Causes \fBtcpplus\fR to print the unmangle forms of the given mangled
196
identifier names.
197
.\" ----------------------------------------------------------------------
198
.IP \fB-v\fR
199
Causes \fBtcpplus\fR to print its version number.
200
.\" ----------------------------------------------------------------------
201
.IP \fB-w\fR
202
Disables all warning messages.  This is equivalent to \fB-mw\fR.
203
.\" ----------------------------------------------------------------------
204
.IP \fB-z\fR
205
Forces \fBtcpplus\fR to produce an output file even if compilation errors
206
occur.  The effect of installing a TDF capsule produced using this option
207
is undefined.  This is equivalent to \fB-mz\fR.
208
.\" ----------------------------------------------------------------------
209
.SH SEE ALSO
210
\fItcc\fR(1), \fItdfc\fR(1).
211
.\" ----------------------------------------------------------------------