Quick Search:

View

Revision:
Expand:  
Changeset: MAIN:gmcgarry:20071019184307

Diff

Diff from 1.6 to:

Annotations

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

Annotated File View

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