Quick Search:

View

Revision:
Expand:  
Changeset: MAIN:gmcgarry:20080702011241

Diff

Diff from 1.10 to:

Annotations

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

Annotated File View

gmcgarry
1.10
1 .\"     $Id: cpp.1,v 1.10 2008/07/02 01:12:41 gmcgarry Exp $
ragge
1.4
2 .\"     $NetBSD$
3 .\"     $OpenBSD$
4 ."\
ragge
1.1
5 .\" Copyright (c) 2007 Jeremy C. Reed <reed@reedmedia.net>
reed
1.9
6 .\"
7 .\" Permission to use, copy, modify, and/or distribute this software for any
8 .\" purpose with or without fee is hereby granted, provided that the above
ragge
1.1
9 .\" copyright notice and this permission notice appear in all copies.
reed
1.9
10 .\"
11 .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR AND CONTRIBUTORS DISCLAIM
12 .\" ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
13 .\" WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL AUTHOR AND
14 .\" CONTRIBUTORS BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
15 .\" DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
16 .\" PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
17 .\" ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
ragge
1.1
18 .\" THIS SOFTWARE.
19 .\"
20 .Dd September 17, 2007
reed
1.9
21 .Dt CPP 1
ragge
1.1
22 .Os
23 .Sh NAME
24 .Nm cpp
25 .Nd C preprocessor
26 .Sh SYNOPSIS
27 .Nm
28 .\" TODO also document -Dvar and below without spaces?
reed
1.7
29 .Op Fl CdMtVv
reed
1.6
30 .Op Fl D Ar macro[=value]
ragge
1.1
31 .Op Fl I Ar path
reed
1.6
32 .Op Fl i Ar file
ragge
1.1
33 .Op Fl S Ar path
reed
1.6
34 .Op Fl U Ar macro
ragge
1.1
35 .Op Ar infile | -
36 .Op Ar outfile
37 .Sh DESCRIPTION
38 The
39 .Nm
40 utility is a macro preprocessor used by the
41 .Xr pcc 1
42 compiler.
ragge
1.4
43 It is used to include header files,
ragge
1.1
44 expand macro definitions,
45 and perform conditional compilation.
46 .Pp
reed
1.9
47 The
ragge
1.1
48 .Ar infile
49 input file is optional.
50 If not provided or the file name is
51 .Qq -
52 (dash),
53 .Nm
54 reads its initial file from standard input.
55 The
56 .Ar outfile
57 output file is also optional.
58 It writes by default to standard output.
59 .Pp
60 .\" TODO: document MAXARG  250 args to a macro, limited by char value
61 .\" TODO: Include order:
62 .\" For "..." files, first search "current" dir, then as <...> files.
63 .\" For <...> files, first search -I directories, then system directories.
64 .\"
65 The options are as follows:
66 .Bl -tag -width Ds
reed
1.9
67 .It Fl ?
68 Show command line usage for
69 .Nm .
ragge
1.1
70 .It Fl C
71 Do not discard comments.
reed
1.6
72 .It Fl D Ar macro[=value]
73 Fake a definition at the beginning by using
74 .Do #define
75 .Ar macro=value Dc .
76 If
77 .Ar value
reed
1.9
78 is not set on command-line, then define it as 1.
reed
1.6
79 .\" TODO: show example
ragge
1.1
80 .It Fl dM
ragge
1.4
81 Print list of
82 .Dq #define
83 statements to standard output for all defined macros other than
84 builtin macros (see below).
reed
1.9
85 The normal results of preprocessing are not output.
ragge
1.1
86 .\" TODO this doesn't show predefined macros
87 .\" other -d options are ignored
reed
1.6
88 .It Fl I Ar path
ragge
1.1
89 Add
reed
1.6
90 .Ar path
reed
1.5
91 to the list of directories containing needed header files.
ragge
1.4
92 This may be used to override system include directories
93 (see
94 .Fl S
95 option).
ragge
1.1
96 .Fl I
97 may be specified multiple times.
reed
1.6
98 .It Fl i Ar file
99 Include a file at the beginning by using
100 .Do #include
101 .Ar file Dc .
102 .\" Note: I did not use the .In macro above
ragge
1.1
103 .It Fl M
104 Generate dependencies for
105 .Xr make 1 .
106 .\" TODO: explain and show example?
gmcgarry
1.10
107 .It Fl P
108 Inhibit generation of line markers.  This is sometimes useful when
109 running the preprocessor on something other than C code.
reed
1.6
110 .It Fl S Ar path
ragge
1.1
111 Add
reed
1.6
112 .Ar path
ragge
1.2
113 to the list of system directories containing needed header files.
reed
1.9
114 The
ragge
1.1
115 .Fl S
reed
1.9
116 option may be specified multiple times.
ragge
1.4
117 Note:
118 .Nm
119 does not have a default include directory defined.
ragge
1.1
120 .\" TODO: explain difference between -I and -S
ragge
1.2
121 .\" The directories listed by -I are searched first?
ragge
1.1
122 .It Fl t
123 Traditional cpp syntax.
124 Do not define the
125 .Dv __TIME__ ,
ragge
1.4
126 .Dv __DATE__ ,
reed
1.8
127 .Dv __STDC__ ,
ragge
1.1
128 and
reed
1.9
129 .Dv __STDC_VERSION__
ragge
1.1
130 macros.
131 .\"
132 .It Fl U Ar macro
133 Undefine a macro at the beginning by using
134 .Do #undef
135 .Ar macro Dc .
reed
1.5
136 .It Fl V
ragge
1.1
137 Verbose debugging output.
reed
1.5
138 .Fl V
ragge
1.1
139 can be repeated for further details.
reed
1.5
140 .\" -V only available if cpp source built with CPP_DEBUG, which is the default.
reed
1.9
141 .It Fl v
142 Display version.
ragge
1.1
143 .El
reed
1.9
144 .Ss Builtin Macros
ragge
1.4
145 A few macros are interpreted inside the
146 .Nm cpp
147 program:
ragge
1.1
148 .Bl -diag
149 .It __DATE__
150 Expands to the date in abbreviated month, day, and year format from
151 .Xr ctime 3
152 in quotes.
153 .\" TODO: is that ctime(3) format output change according to locale?
154 .It __FILE__
155 Expands to the name of the current input file in quotes.
ragge
1.4
156 When read from standard input, it expands to
reed
1.9
157 .Qq Aq stdin .
ragge
1.1
158 .It __LINE__
159 Expands to the line number of the current line containing the macro.
160 .It __STDC__
161 Expands to the constant 1.
reed
1.9
162 This means the compiler conforms to
163 .St -isoC
reed
1.8
164 .Po also known as
165 .Do C90 Dc Pc .
166 .It __STDC_VERSION__
167 Expands to
168 .Dq 199901L
reed
1.9
169 which indicates that
170 .Nm
171 supports
172 .St -isoC-99
reed
1.8
173 .Po commonly referred to as
174 .Do C99 Dc Pc .
ragge
1.1
175 .It __TIME__
176 Expands to the time in hour, minutes, and seconds from
177 .Xr ctime 3
178 in quotes.
179 .El
180 .Pp
181 Also see the
ragge
1.4
182 .Fl t
183 option.
ragge
1.1
184 .Sh EXIT STATUS
185 The
186 .Nm
187 utility exits with one of the following values:
188 .Bl -tag -width Ds
189 .It 0
190 Successfully finished.
191 .It 1
192 An error occurred.
193 .El
194 .Sh SEE ALSO
195 .Xr as 1 ,
196 .Xr ccom 1 ,
197 .Xr pcc 1
198 .\"
199 .Sh HISTORY
200 The
201 .Nm
reed
1.9
202 command comes from the original Portable C Compiler by S. C. Johnson,
203 written in the late 70's.
ragge
1.1
204 The code originates from the V6 preprocessor with some additions
205 from V7 cpp and ansi/c99 support.
206 .Pp
207 A lot of the PCC code was rewritten by Anders Magnusson.
208 .Pp
209 This product includes software developed or owned by Caldera
210 International, Inc.
FishEye: Open Source License registered to PCC.
Atlassian FishEye, CVS analysis. (Version:1.6.3 Build:build-336 2008-11-04) - Administration - Page generated 2014-12-21 15:27 +0100