Quick Search:

View

Revision:
Expand:  
Changeset: MAIN:plunky:20110605085442

Diff

Diff from 1.13 to:

Annotations

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

Annotated File View

plunky
1.13
1 .\"     $Id: cpp.1,v 1.13 2011/06/05 08:54:42 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 .\"
18 .Dd September 17, 2007
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
26 .\" TODO also document -Dvar and below without spaces?
reed
1.7
27 .Op Fl CdMtVv
reed
1.6
28 .Op Fl D Ar macro[=value]
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.
ragge
1.4
41 It is used to include header files,
ragge
1.1
42 expand macro definitions,
43 and perform conditional compilation.
44 .Pp
reed
1.9
45 The
ragge
1.1
46 .Ar infile
47 input file is optional.
48 If not provided or the file name is
49 .Qq -
50 (dash),
51 .Nm
52 reads its initial file from standard input.
53 The
54 .Ar outfile
55 output file is also optional.
56 It writes by default to standard output.
57 .Pp
58 .\" TODO: document MAXARG  250 args to a macro, limited by char value
59 .\" TODO: Include order:
60 .\" For "..." files, first search "current" dir, then as <...> files.
61 .\" For <...> files, first search -I directories, then system directories.
62 .\"
63 The options are as follows:
64 .Bl -tag -width Ds
reed
1.9
65 .It Fl ?
66 Show command line usage for
67 .Nm .
ragge
1.1
68 .It Fl C
69 Do not discard comments.
reed
1.6
70 .It Fl D Ar macro[=value]
71 Fake a definition at the beginning by using
72 .Do #define
73 .Ar macro=value Dc .
74 If
75 .Ar value
reed
1.9
76 is not set on command-line, then define it as 1.
reed
1.6
77 .\" TODO: show example
ragge
1.1
78 .It Fl dM
ragge
1.4
79 Print list of
80 .Dq #define
81 statements to standard output for all defined macros other than
82 builtin macros (see below).
reed
1.9
83 The normal results of preprocessing are not output.
ragge
1.1
84 .\" TODO this doesn't show predefined macros
85 .\" other -d options are ignored
reed
1.6
86 .It Fl I Ar path
ragge
1.1
87 Add
reed
1.6
88 .Ar path
reed
1.5
89 to the list of directories containing needed header files.
ragge
1.4
90 This may be used to override system include directories
91 (see
92 .Fl S
93 option).
ragge
1.1
94 .Fl I
95 may be specified multiple times.
reed
1.6
96 .It Fl i Ar file
97 Include a file at the beginning by using
98 .Do #include
99 .Ar file Dc .
100 .\" Note: I did not use the .In macro above
ragge
1.1
101 .It Fl M
102 Generate dependencies for
103 .Xr make 1 .
104 .\" TODO: explain and show example?
gmcgarry
1.10
105 .It Fl P
106 Inhibit generation of line markers.  This is sometimes useful when
107 running the preprocessor on something other than C code.
reed
1.6
108 .It Fl S Ar path
ragge
1.1
109 Add
reed
1.6
110 .Ar path
ragge
1.2
111 to the list of system directories containing needed header files.
reed
1.9
112 The
ragge
1.1
113 .Fl S
reed
1.9
114 option may be specified multiple times.
ragge
1.4
115 Note:
116 .Nm
117 does not have a default include directory defined.
ragge
1.1
118 .\" TODO: explain difference between -I and -S
ragge
1.2
119 .\" The directories listed by -I are searched first?
ragge
1.1
120 .It Fl t
121 Traditional cpp syntax.
122 Do not define the
123 .Dv __TIME__ ,
ragge
1.4
124 .Dv __DATE__ ,
reed
1.8
125 .Dv __STDC__ ,
ragge
1.1
126 and
reed
1.9
127 .Dv __STDC_VERSION__
ragge
1.1
128 macros.
129 .\"
130 .It Fl U Ar macro
131 Undefine a macro at the beginning by using
132 .Do #undef
133 .Ar macro Dc .
reed
1.5
134 .It Fl V
ragge
1.1
135 Verbose debugging output.
reed
1.5
136 .Fl V
ragge
1.1
137 can be repeated for further details.
plunky
1.12
138 .\" -V only available if cpp source built with PCC_DEBUG, which is the default.
reed
1.9
139 .It Fl v
140 Display version.
ragge
1.1
141 .El
reed
1.9
142 .Ss Builtin Macros
ragge
1.4
143 A few macros are interpreted inside the
144 .Nm cpp
145 program:
ragge
1.1
146 .Bl -diag
147 .It __DATE__
148 Expands to the date in abbreviated month, day, and year format from
149 .Xr ctime 3
150 in quotes.
151 .\" TODO: is that ctime(3) format output change according to locale?
152 .It __FILE__
153 Expands to the name of the current input file in quotes.
ragge
1.4
154 When read from standard input, it expands to
reed
1.9
155 .Qq Aq stdin .
ragge
1.1
156 .It __LINE__
157 Expands to the line number of the current line containing the macro.
158 .It __STDC__
159 Expands to the constant 1.
reed
1.9
160 This means the compiler conforms to
161 .St -isoC
reed
1.8
162 .Po also known as
163 .Do C90 Dc Pc .
164 .It __STDC_VERSION__
165 Expands to
166 .Dq 199901L
reed
1.9
167 which indicates that
168 .Nm
169 supports
170 .St -isoC-99
reed
1.8
171 .Po commonly referred to as
172 .Do C99 Dc Pc .
ragge
1.1
173 .It __TIME__
174 Expands to the time in hour, minutes, and seconds from
175 .Xr ctime 3
176 in quotes.
177 .El
178 .Pp
179 Also see the
ragge
1.4
180 .Fl t
181 option.
ragge
1.1
182 .Sh EXIT STATUS
183 The
184 .Nm
185 utility exits with one of the following values:
186 .Bl -tag -width Ds
187 .It 0
188 Successfully finished.
189 .It 1
190 An error occurred.
191 .El
192 .Sh SEE ALSO
193 .Xr as 1 ,
194 .Xr ccom 1 ,
195 .Xr pcc 1
196 .\"
197 .Sh HISTORY
198 The
199 .Nm
reed
1.9
200 command comes from the original Portable C Compiler by S. C. Johnson,
201 written in the late 70's.
ragge
1.1
202 The code originates from the V6 preprocessor with some additions
203 from V7 cpp and ansi/c99 support.
204 .Pp
205 A lot of the PCC code was rewritten by Anders Magnusson.
206 .Pp
207 This product includes software developed or owned by Caldera
208 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-30 14:15 +0200