Quick Search:

View

Revision:
Expand:  
Changeset: MAIN:reed:20100405131357

Diff

Diff from 1.9 to:

Annotations

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

Annotated File View

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