Quick Search:

View

Revision:
Expand:  
Changeset: MAIN:reed:20071002160317

Diff

Diff from 1.3 to:

Annotations

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

Annotated File View

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