Quick Search:

View

Revision:
Expand:  
Changeset: MAIN:plunky:20110831083400

Diff

Diff from 1.15 to:

Annotations

Annotate by Age | Author | Mixed | None
/fisheye/browse/pcc/pcc/cc/cpp/cpp.1

Annotated File View

plunky
1.15
1 .\"     $Id: cpp.1,v 1.15 2011/08/31 08:34:00 plunky Exp $
reed
1.11
2 .\"
ragge
1.1
3 .\" Copyright (c) 2007 Jeremy C. Reed <reed@reedmedia.net>
reed
1.9
4 .\"
5 .\" Permission to use, copy, modify, and/or distribute this software for any
6 .\" purpose with or without fee is hereby granted, provided that the above
ragge
1.1
7 .\" copyright notice and this permission notice appear in all copies.
reed
1.9
8 .\"
9 .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR AND CONTRIBUTORS DISCLAIM
10 .\" ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
11 .\" WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL AUTHOR AND
12 .\" CONTRIBUTORS BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
13 .\" DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
14 .\" PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
15 .\" ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
ragge
1.1
16 .\" THIS SOFTWARE.
17 .\"
plunky
1.15
18 .Dd August 31, 2011
reed
1.9
19 .Dt CPP 1
ragge
1.1
20 .Os
21 .Sh NAME
22 .Nm cpp
23 .Nd C preprocessor
24 .Sh SYNOPSIS
25 .Nm
plunky
1.15
26 .Op Fl CMPtVv
27 .Op Fl D Ar macro Ns Oo = Ns Ar value Oc
28 .Op Fl d Ar flags
ragge
1.1
29 .Op Fl I Ar path
reed
1.6
30 .Op Fl i Ar file
ragge
1.1
31 .Op Fl S Ar path
reed
1.6
32 .Op Fl U Ar macro
ragge
1.1
33 .Op Ar infile | -
34 .Op Ar outfile
35 .Sh DESCRIPTION
36 The
37 .Nm
38 utility is a macro preprocessor used by the
39 .Xr pcc 1
40 compiler.
plunky
1.15
41 It is mainly used to include header files,
ragge
1.1
42 expand macro definitions,
plunky
1.15
43 discard comments,
ragge
1.1
44 and perform conditional compilation.
plunky
1.15
45 .Nm
46 is written to comply with the
47 .St -isoC-99
48 specification.
ragge
1.1
49 .Pp
reed
1.9
50 The
ragge
1.1
51 .Ar infile
52 input file is optional.
53 If not provided or the file name is
54 .Qq -
55 (dash),
56 .Nm
57 reads its initial file from standard input.
58 The
59 .Ar outfile
plunky
1.15
60 output file is also optional, with output written to standard
61 output if not provided.
ragge
1.1
62 .Pp
63 The options are as follows:
64 .Bl -tag -width Ds
65 .It Fl C
66 Do not discard comments.
plunky
1.15
67 .It Fl D Ar macro Ns Oo = Ns Ar value Oc
68 Create a macro definition before processing any input, as if a
69 .Lp
70 .Dl #define Ar macro Ar value
71 .Lp
72 directive had appeared in the source.
reed
1.6
73 If
74 .Ar value
plunky
1.15
75 is not set on the command-line, then a value of 1 is used.
76 .It Fl d Ar flags
77 Modify output according to
78 .Ar flags ,
79 which can be a list of character flags.
80 The following flags are currently supported:
81 .Bl -tag -width ".Sy M"
82 .It Sy M
83 Do not process any input, but output a list of
ragge
1.4
84 .Dq #define
plunky
1.15
85 statements for all defined macros other than builtin macros
86 .Pq see below .
87 .El
88 .Lp
89 any unknown flags are ignored.
reed
1.6
90 .It Fl I Ar path
ragge
1.1
91 Add
reed
1.6
92 .Ar path
plunky
1.15
93 to the list of directories searched by the
94 .Dq #include
95 directive.
ragge
1.4
96 This may be used to override system include directories
plunky
1.15
97 .Pq see Fl S No option .
ragge
1.1
98 .Fl I
plunky
1.15
99 may be specified multiple times and is cumulative.
reed
1.6
100 .It Fl i Ar file
plunky
1.15
101 Include a file before processing any input, as if a
102 .Lp
103 .Dl #include Qo Ar file Qc
104 .Lp
105 directive had appeared in the source.
106 .Fl i
107 may be specified multiple times to include several files.
ragge
1.1
108 .It Fl M
plunky
1.15
109 Instead of producing a processed C code file, output a list
110 of dependencies for
111 .Xr make 1 ,
112 detailing the files that need to be processed when compiling
113 the input.
gmcgarry
1.10
114 .It Fl P
115 Inhibit generation of line markers.  This is sometimes useful when
116 running the preprocessor on something other than C code.
reed
1.6
117 .It Fl S Ar path
ragge
1.1
118 Add
reed
1.6
119 .Ar path
plunky
1.15
120 to the list of system directories searched by the
121 .Dq #include
122 directive.
reed
1.9
123 The
ragge
1.1
124 .Fl S
plunky
1.15
125 option may be specified multiple times and is cumulative.
ragge
1.1
126 .It Fl t
127 Traditional cpp syntax.
128 Do not define the
129 .Dv __TIME__ ,
ragge
1.4
130 .Dv __DATE__ ,
reed
1.8
131 .Dv __STDC__ ,
ragge
1.1
132 and
reed
1.9
133 .Dv __STDC_VERSION__
ragge
1.1
134 macros.
135 .It Fl U Ar macro
plunky
1.15
136 Undefine a macro before processing any input, as if a
137 .Lp
138 .Dl #undef Ar macro
139 .Lp
140 directive had appeared in the source.
reed
1.5
141 .It Fl V
ragge
1.1
142 Verbose debugging output.
reed
1.5
143 .Fl V
plunky
1.15
144 can be repeated for greater detail.
145 .Po
146 This is only available if the
147 .Nm
148 program was built with
149 .Dv PCC_DEBUG
150 defined, which is the default
151 .Pc .
reed
1.9
152 .It Fl v
153 Display version.
ragge
1.1
154 .El
plunky
1.15
155 .Pp
156 The
157 .Fl D ,
158 .Fl i
159 and
160 .Fl U
161 options are processed in the order that they appear on the command
162 line, before any input is read but after the command line options
163 have been scanned.
164 .Pp
165 Files referenced by the
166 .Dq #include
167 directive as
168 .Qq ... ,
169 are first looked for in the current directory, then as per
170 .Aq ...
171 files, which are first looked for in the list of
172 directories provided by any
173 .Fl I
174 options, then in the list of system directories provided by any
175 .Fl S
176 options.
177 Note that
178 .Nm
179 does not define any include directories by default; if no
180 .Fl I
181 or
182 .Fl S
183 options are given, then only the current directory will be
184 searched and no system files will be found.
reed
1.9
185 .Ss Builtin Macros
ragge
1.4
186 A few macros are interpreted inside the
187 .Nm cpp
188 program:
ragge
1.1
189 .Bl -diag
190 .It __DATE__
plunky
1.15
191 Expands to a quoted string literal containing the date in the form
192 .Qq Mmm dd yyyy ,
193 where the names of the months are the same as those generated by the
194 .Xr asctime 3
195 function, and the first character of dd is a space character if
196 the value is less than 10.
ragge
1.1
197 .It __FILE__
plunky
1.15
198 Expands to a quoted string literal containing the presumed name of
199 the current source file.
200 When reading source from standard input, it expands to
reed
1.9
201 .Qq Aq stdin .
ragge
1.1
202 .It __LINE__
plunky
1.15
203 Expands to an integer constant representing the presumed line number
204 of the source line containing the macro.
ragge
1.1
205 .It __STDC__
plunky
1.15
206 Expands to the integer constant
207 .Dq 1 ,
208 meaning that the compiler conforms to
209 .St -isoC .
reed
1.8
210 .It __STDC_VERSION__
plunky
1.15
211 Expands to the integer constant
212 .Dq 199901L ,
213 indicating that
reed
1.9
214 .Nm
plunky
1.15
215 conforms to
216 .St -isoC-99 .
ragge
1.1
217 .It __TIME__
plunky
1.15
218 Expands to a quoted string literal containing the time in the form
219 .Qq hh:mm:ss
220 as generated by the
221 .Xr asctime 3
222 function.
ragge
1.1
223 .El
224 .Pp
225 Also see the
ragge
1.4
226 .Fl t
227 option.
ragge
1.1
228 .Sh EXIT STATUS
229 The
230 .Nm
231 utility exits with one of the following values:
232 .Bl -tag -width Ds
233 .It 0
234 Successfully finished.
235 .It 1
236 An error occurred.
237 .El
238 .Sh SEE ALSO
239 .Xr as 1 ,
240 .Xr ccom 1 ,
plunky
1.15
241 .Xr make 1 ,
242 .Xr pcc 1 ,
243 .Xr asctime 3
ragge
1.1
244 .Sh HISTORY
245 The
246 .Nm
plunky
1.14
247 command comes from the original Portable C Compiler by
248 .An "S. C. Johnson" ,
reed
1.9
249 written in the late 70's.
ragge
1.1
250 The code originates from the V6 preprocessor with some additions
251 from V7 cpp and ansi/c99 support.
252 .Pp
plunky
1.14
253 A lot of the PCC code was rewritten by
254 .An "Anders Magnusson" .
ragge
1.1
255 .Pp
256 This product includes software developed or owned by Caldera
257 International, Inc.
FishEye: Open Source License registered to PCC.
Your maintenance has expired. You can renew your license at http://www.atlassian.com/fisheye/renew
Atlassian FishEye, CVS analysis. (Version:1.6.3 Build:build-336 2008-11-04) - Administration - Page generated 2014-08-23 19:22 +0200