Quick Search:

View

Revision:
Expand:  
Changeset: MAIN:plunky:20110812082027

Diff

Diff from 1.14 to:

Annotations

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

Annotated File View

plunky
1.14
1 .\"     $Id: ccom.1,v 1.14 2011/08/12 08:20:27 plunky Exp $
reed
1.9
2 .\"
ragge
1.1
3 .\" Copyright (c) 2007 Jeremy C. Reed <reed@reedmedia.net>
reed
1.7
4 .\" Permission to use, copy, modify, and/or distribute this software for any
5 .\" purpose with or without fee is hereby granted, provided that the above
ragge
1.1
6 .\" copyright notice and this permission notice appear in all copies.
reed
1.7
7 .\"
8 .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR AND CONTRIBUTORS DISCLAIM
9 .\" ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
10 .\" WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL AUTHOR AND
11 .\" CONTRIBUTORS BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
12 .\" DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
13 .\" PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
14 .\" ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
ragge
1.1
15 .\" THIS SOFTWARE.
plunky
1.12
16 .\"
17 .Dd August 11, 2011
reed
1.7
18 .Dt CCOM 1
ragge
1.1
19 .Os
20 .Sh NAME
21 .Nm ccom
22 .Nd C compiler
23 .Sh SYNOPSIS
24 .Nm
plunky
1.14
25 .Op Fl gkps
plunky
1.12
26 .Op Fl W Ar warnings
ragge
1.1
27 .Op Fl X Ar flags
plunky
1.13
28 .Op Fl x Ar settings
reed
1.5
29 .Op Fl Z Ar flags
ragge
1.1
30 .Op infile
31 .Op outfile
32 .Sh DESCRIPTION
33 The
34 .Nm
35 utility provides a C compiler.
36 The frontend is usually
37 .Xr pcc 1 .
reed
1.7
38 It is
39 .Em not
40 intended to be run directly.
ragge
1.1
41 .Pp
42 .Nm
43 reads the C source from
44 .Ar infile
45 or standard input and writes the assembler source
46 to
47 .Ar outfile
48 or to standard output.
49 .Pp
50 The options are as follows:
51 .Bl -tag -width Ds
52 .It Fl g
53 Enable debugging.
54 .\" built into binary, explain stabs?
gmcgarry
1.6
55 .It Fl k
56 Generate PIC code.
plunky
1.14
57 .It Fl p
58 Generate profiling code.
ragge
1.1
59 .It Fl s
60 Print statistics to standard error when complete.
61 This includes:
62 name table entries, name string size, permanent allocated memory,
63 temporary allocated memory, lost memory, argument list unions,
64 dimension/function unions, struct/union/enum blocks, inline node count,
65 inline control blocks, and permanent symtab entries.
66 .\" TODO: explain units for above?
reed
1.3
67 .It Fl v
68 Display version.
plunky
1.12
69 .It Fl W Ar warning
70 Do some basic checks and emit warnings about possible coding problems.
71 Multiple
72 .Fl W
73 options can be given, the following
74 .Ar warning Ns s
75 are supported:
ragge
1.1
76 .Bl -tag -width Ds
gmcgarry
1.8
77 .It Sy error
plunky
1.12
78 Treat all warnings as errors.
reed
1.5
79 .It Sy implicit-function-declaration
plunky
1.12
80 (TODO) Require explicit prototypes for all called functions.
ragge
1.1
81 .It Sy implicit-int
plunky
1.12
82 (TODO) Warn when a function declaration lacks a type.
ragge
1.1
83 .It Sy missing-prototypes
plunky
1.12
84 Require explicit prototypes for all global function definitions.
85 .It Sy pointer-sign
86 Warn when pointer operations are done with mismatched signed and unsigned values.
87 .It Sy sign-compare
88 (TODO) Warn about comparisons between signed and unsigned values.
ragge
1.1
89 .It Sy strict-prototypes
plunky
1.12
90 (TODO) Require that function prototypes are strictly C99.
91 .It Sy shadow
92 Report when a local variable shadows something from a higher scope.
93 .It Sy truncate
94 Report when integer values may be implicitly truncated to fit a smaller type.
95 .It Sy unknown-pragmas
96 Report unhandled pragma statements.
97 .It Sy unreachable-code
98 Report statements that cannot be executed.
ragge
1.1
99 .El
100 .\"
reed
1.3
101 .It Fl X Ar flags
102 C specific debugging where
103 .Ar flags
ragge
1.1
104 is one or more of the following:
105 .Bl -tag -width Ds
106 .It Sy b
107 Building of parse trees
108 .It Sy d
reed
1.7
109 Declarations (using multiple
reed
1.3
110 .Sy d
111 flags gives more output)
reed
1.5
112 .It Sy e
113 Pass1 trees at exit
114 .It Sy i
115 Initializations
gmcgarry
1.6
116 .It Sy n
117 Memory allocations
118 .It Sy o
119 Turn off optimisations
120 .It Sy p
121 Prototypes
122 .It Sy s
123 Inlining
ragge
1.1
124 .It Sy t
125 Type conversions
126 .It Sy x
127 Target-specific flag, used in machine-dependent code
128 .El
129 .\"
plunky
1.13
130 .It Fl x Ar setting
131 Enable
132 .Ar setting
133 in the compiler.
134 Multiple
135 .Fl x
136 options can be given, the following settings are supported:
137 .Bl -tag -width Ds
138 .It Sy ccp
139 Apply sparse conditional constant propagation techniques for optimization.
140 Currently not implemented.
141 .It Sy dce
142 Do dead code elimination.
reed
1.5
143 .It Sy deljumps
144 Delete redundant jumps and dead code.
plunky
1.13
145 .It Sy gcc
146 Use gcc semantics rather than C99 for some things.
147 Currently only inline.
plunky
1.11
148 .It Sy inline
149 Replace calls to functions marked with an inline specifier with a copy
150 of the actual function.
reed
1.5
151 .It Sy ssa
plunky
1.13
152 Convert statements into static single assignment form for optimization.
reed
1.7
153 Not yet finished.
reed
1.5
154 .It Sy tailcall
plunky
1.13
155 Enable optimization of tail-recursion functions.
reed
1.5
156 Currently not implemented.
157 .It Sy temps
plunky
1.13
158 Locate automatic variables into registers where possible, for further
reed
1.5
159 optimization by the register allocator.
160 .El
161 .\"
reed
1.3
162 .It Fl Z Ar flags
163 Code generator (pass2) specific debugging where
reed
1.7
164 .Ar flags
ragge
1.1
165 is one or more of the following:
166 .Bl -tag -width Ds
gmcgarry
1.6
167 .It Sy b
168 Basic block and SSA building
169 .It Sy c
170 Code printout
ragge
1.1
171 .It Sy e
172 Trees when entering pass2
reed
1.5
173 .It Sy f
174 Instruction matcher, may provide much output
gmcgarry
1.6
175 .It Sy n
176 Memory allocation
ragge
1.1
177 .It Sy o
178 Instruction generator
179 .It Sy r
180 Register allocator
reed
1.5
181 .It Sy s
182 Shape matching in instruction generator
ragge
1.1
183 .It Sy t
184 Type matching in instruction generator
185 .It Sy u
186 Sethi-Ullman computations
187 .It Sy x
reed
1.7
188 Target-specific flag, used in machine-dependent code
ragge
1.1
189 .El
reed
1.4
190 .El
ragge
1.1
191 .Sh SEE ALSO
192 .Xr as 1 ,
193 .Xr cpp 1 ,
194 .Xr pcc 1
195 .Sh HISTORY
196 The
197 .Nm
reed
1.7
198 compiler is based on the original Portable C Compiler by S. C. Johnson,
199 written in the late 70's.
ragge
1.1
200 Even though much of the compiler has been rewritten, some of the
201 basics still remain.
202 About 50% of the frontend code and 80% of the backend code has been
203 rewritten.
204 Most is written by Anders Magnusson, with the exception of
205 the data-flow analysis part and the SSA conversion code which is
206 written by Peter A Jonsson, and the Mips port that were written as
reed
1.7
207 part of a project by undergraduate students at Lulea University of
ragge
1.1
208 Technology.
reed
1.3
209 .Pp
210 This product includes software developed or owned by Caldera
211 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-11-01 00:47 +0100