Quick Search:

View

Revision:
Expand:  
Changeset: MAIN:reed:20071002194632

Diff

Diff from 1.5 to:

Annotations

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

Annotated File View

reed
1.5
1 .\"     $Id: ccom.1,v 1.5 2007/10/02 19:46:32 reed Exp $
ragge
1.2
2 .\"     $NetBSD$
3 .\"     $OpenBSD$
4 ."\
ragge
1.1
5 .\" Copyright (c) 2007 Jeremy C. Reed <reed@reedmedia.net>
6 .\" Permission to use, copy, modify, and/or distribute this software for any 
7 .\" purpose with or without fee is hereby granted, provided that the above 
8 .\" copyright notice and this permission notice appear in all copies.
9 .\" 
10 .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR AND CONTRIBUTORS DISCLAIM 
11 .\" ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED 
12 .\" WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL AUTHOR AND 
13 .\" CONTRIBUTORS BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL 
14 .\" DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR 
15 .\" PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS 
16 .\" ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF 
17 .\" THIS SOFTWARE.
18 .Dd September 14, 2007
19 .Dt ccom 1
20 .Os
21 .Sh NAME
22 .Nm ccom
23 .Nd C compiler
24 .Sh SYNOPSIS
25 .Nm
reed
1.5
26 .Op Fl gs
27 .Op Fl W Ar flags
ragge
1.1
28 .Op Fl X Ar flags
reed
1.5
29 .Op Fl x Ar optimizations
30 .Op Fl Z Ar flags
ragge
1.1
31 .Op infile
32 .Op outfile
33 .Pp
34 .Sh DESCRIPTION
35 The
36 .Nm
37 utility provides a C compiler.
38 The frontend is usually
39 .Xr pcc 1 .
40 It is \fBnot\fR intended to be run directly.
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?
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
ragge
1.1
102 .It Sy t
103 Type conversions
104 .It Sy x
105 Target-specific flag, used in machine-dependent code
106 .El
107 .\"
reed
1.5
108 .It Fl x Ar optimizations
109 .Ar optimizations
110 is one or more of the following:
111 .\" TODO: reword this, since multiple terms don't go with one -x switch??
112 .Bl -tag -width deljumps
113 .It Sy deljumps
114 Delete redundant jumps and dead code.
115 .It Sy ssa
116 Convert statements into SSA form for optimization.  Not yet finished.
117 .It Sy tailcall
118 Currently not implemented.
119 .It Sy temps
120 Setting this flag allows variables to be put into registers, for further 
121 optimization by the register allocator.
122 .El
123 .\"
reed
1.3
124 .It Fl Z Ar flags
125 Code generator (pass2) specific debugging where
126 .Ar flags 
ragge
1.1
127 is one or more of the following:
128 .Bl -tag -width Ds
129 .It Sy e
130 Trees when entering pass2
reed
1.5
131 .It Sy f
132 Instruction matcher, may provide much output
ragge
1.1
133 .It Sy o
134 Instruction generator
135 .It Sy r
136 Register allocator
reed
1.5
137 .It Sy s
138 Shape matching in instruction generator
ragge
1.1
139 .It Sy t
140 Type matching in instruction generator
141 .It Sy u
142 Sethi-Ullman computations
143 .It Sy x
144 Target-specific flag, used in machine-dependent code 
145 .El
reed
1.4
146 .El
ragge
1.1
147 .Sh SEE ALSO
148 .Xr as 1 ,
149 .Xr cpp 1 ,
150 .Xr pcc 1
151 .Sh HISTORY
152 The
153 .Nm
154 compiler is based on the original Portable C Compiler by S. C.
155 Johnson, written in the late 70's.
156 Even though much of the compiler has been rewritten, some of the
157 basics still remain.
158 About 50% of the frontend code and 80% of the backend code has been
159 rewritten.
160 Most is written by Anders Magnusson, with the exception of
161 the data-flow analysis part and the SSA conversion code which is
162 written by Peter A Jonsson, and the Mips port that were written as
163 part of a project by undergraduate students at Lulea University of 
164 Technology.
reed
1.3
165 .Pp
166 This product includes software developed or owned by Caldera
167 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 11:24 +0100