Quick Search:

View

Revision:
Expand:  
Changeset: MAIN:plunky:20110810212125

Diff

Diff from 1.11 to:

Annotations

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

Annotated File View

plunky
1.11
1 .\"     $Id: ccom.1,v 1.11 2011/08/10 21:21:25 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.
16 .Dd September 14, 2007
reed
1.7
17 .Dt CCOM 1
ragge
1.1
18 .Os
19 .Sh NAME
20 .Nm ccom
21 .Nd C compiler
22 .Sh SYNOPSIS
23 .Nm
reed
1.5
24 .Op Fl gs
25 .Op Fl W Ar flags
ragge
1.1
26 .Op Fl X Ar flags
reed
1.5
27 .Op Fl x Ar optimizations
28 .Op Fl Z Ar flags
ragge
1.1
29 .Op infile
30 .Op outfile
31 .Sh DESCRIPTION
32 The
33 .Nm
34 utility provides a C compiler.
35 The frontend is usually
36 .Xr pcc 1 .
reed
1.7
37 It is
38 .Em not
39 intended to be run directly.
ragge
1.1
40 .Pp
41 .Nm
42 reads the C source from
43 .Ar infile
44 or standard input and writes the assembler source
45 to
46 .Ar outfile
47 or to standard output.
48 .Pp
49 The options are as follows:
50 .Bl -tag -width Ds
51 .It Fl g
52 Enable debugging.
53 .\" built into binary, explain stabs?
gmcgarry
1.6
54 .It Fl k
55 Generate PIC code.
ragge
1.1
56 .It Fl s
57 Print statistics to standard error when complete.
58 This includes:
59 name table entries, name string size, permanent allocated memory,
60 temporary allocated memory, lost memory, argument list unions,
61 dimension/function unions, struct/union/enum blocks, inline node count,
62 inline control blocks, and permanent symtab entries.
63 .\" TODO: explain units for above?
reed
1.3
64 .It Fl v
65 Display version.
ragge
1.1
66 .It Fl W Ar flags
67 Report warnings.
68 (Do some basic checks.)
reed
1.7
69 .Em NOTE!
70 .Em These are subject to change RSN!
reed
1.5
71 .Ar flags
ragge
1.1
72 is one or more of the following:
73 .Bl -tag -width Ds
gmcgarry
1.8
74 .It Sy error
75 Report all warnings as errors.
ragge
1.1
76 .It Sy implicit
77 Implies
reed
1.5
78 .Sy implicit-function-declaration
ragge
1.1
79 and
reed
1.5
80 .Sy implicit-int .
81 .It Sy implicit-function-declaration
reed
1.7
82 Report if no prototype was declared for a function.
ragge
1.1
83 .It Sy implicit-int
84 TODO
85 .It Sy missing-prototypes
86 TODO
87 .It Sy strict-prototypes
88 TODO
gmcgarry
1.8
89 .It Sy W
90 Enable all warnings.
ragge
1.1
91 .El
92 .\"
reed
1.3
93 .It Fl X Ar flags
94 C specific debugging where
95 .Ar flags
ragge
1.1
96 is one or more of the following:
97 .Bl -tag -width Ds
98 .It Sy b
99 Building of parse trees
100 .It Sy d
reed
1.7
101 Declarations (using multiple
reed
1.3
102 .Sy d
103 flags gives more output)
reed
1.5
104 .It Sy e
105 Pass1 trees at exit
106 .It Sy i
107 Initializations
gmcgarry
1.6
108 .It Sy n
109 Memory allocations
110 .It Sy o
111 Turn off optimisations
112 .It Sy p
113 Prototypes
114 .It Sy s
115 Inlining
ragge
1.1
116 .It Sy t
117 Type conversions
118 .It Sy x
119 Target-specific flag, used in machine-dependent code
120 .El
121 .\"
reed
1.5
122 .It Fl x Ar optimizations
123 .Ar optimizations
reed
1.7
124 is one of the following:
reed
1.5
125 .\" TODO: reword this, since multiple terms don't go with one -x switch??
126 .Bl -tag -width deljumps
127 .It Sy deljumps
128 Delete redundant jumps and dead code.
plunky
1.11
129 .It Sy inline
130 Replace calls to functions marked with an inline specifier with a copy
131 of the actual function.
reed
1.5
132 .It Sy ssa
reed
1.7
133 Convert statements into SSA form for optimization.
134 Not yet finished.
reed
1.5
135 .It Sy tailcall
136 Currently not implemented.
137 .It Sy temps
reed
1.7
138 Setting this flag allows variables to be put into registers, for further
reed
1.5
139 optimization by the register allocator.
140 .El
reed
1.7
141 The
142 .Fl x
143 flag can be passed multiple times to set different options.
reed
1.5
144 .\"
reed
1.3
145 .It Fl Z Ar flags
146 Code generator (pass2) specific debugging where
reed
1.7
147 .Ar flags
ragge
1.1
148 is one or more of the following:
149 .Bl -tag -width Ds
gmcgarry
1.6
150 .It Sy b
151 Basic block and SSA building
152 .It Sy c
153 Code printout
ragge
1.1
154 .It Sy e
155 Trees when entering pass2
reed
1.5
156 .It Sy f
157 Instruction matcher, may provide much output
gmcgarry
1.6
158 .It Sy n
159 Memory allocation
ragge
1.1
160 .It Sy o
161 Instruction generator
162 .It Sy r
163 Register allocator
reed
1.5
164 .It Sy s
165 Shape matching in instruction generator
ragge
1.1
166 .It Sy t
167 Type matching in instruction generator
168 .It Sy u
169 Sethi-Ullman computations
170 .It Sy x
reed
1.7
171 Target-specific flag, used in machine-dependent code
ragge
1.1
172 .El
reed
1.4
173 .El
ragge
1.1
174 .Sh SEE ALSO
175 .Xr as 1 ,
176 .Xr cpp 1 ,
177 .Xr pcc 1
178 .Sh HISTORY
179 The
180 .Nm
reed
1.7
181 compiler is based on the original Portable C Compiler by S. C. Johnson,
182 written in the late 70's.
ragge
1.1
183 Even though much of the compiler has been rewritten, some of the
184 basics still remain.
185 About 50% of the frontend code and 80% of the backend code has been
186 rewritten.
187 Most is written by Anders Magnusson, with the exception of
188 the data-flow analysis part and the SSA conversion code which is
189 written by Peter A Jonsson, and the Mips port that were written as
reed
1.7
190 part of a project by undergraduate students at Lulea University of
ragge
1.1
191 Technology.
reed
1.3
192 .Pp
193 This product includes software developed or owned by Caldera
194 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-09-19 23:55 +0200