Quick Search:

View

Revision:
Expand:  
Changeset: MAIN:ragge:20070915081905

Diff

Diff from 1.1 to:

Annotations

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

Annotated File View

ragge
1.1
1 .\" Copyright (c) 2007 Jeremy C. Reed <reed@reedmedia.net>
2 .\" Permission to use, copy, modify, and/or distribute this software for any 
3 .\" purpose with or without fee is hereby granted, provided that the above 
4 .\" copyright notice and this permission notice appear in all copies.
5 .\" 
6 .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR AND CONTRIBUTORS DISCLAIM 
7 .\" ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED 
8 .\" WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL AUTHOR AND 
9 .\" CONTRIBUTORS BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL 
10 .\" DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR 
11 .\" PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS 
12 .\" ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF 
13 .\" THIS SOFTWARE.
14 .Dd September 14, 2007
15 .Dt ccom 1
16 .Os
17 .Sh NAME
18 .Nm ccom
19 .Nd C compiler
20 .Sh SYNOPSIS
21 .Nm
22 .Op Fl X Ar flags
23 .Op infile
24 .Op outfile
25 .Pp
26 .Sh DESCRIPTION
27 The
28 .Nm
29 utility provides a C compiler.
30 The frontend is usually
31 .Xr pcc 1 .
32 It is \fBnot\fR intended to be run directly.
33 .Pp
34 .Nm
35 reads the C source from
36 .Ar infile
37 or standard input and writes the assembler source
38 to
39 .Ar outfile
40 or to standard output.
41 .Pp
42 The options are as follows:
43 .Bl -tag -width Ds
44 .It Fl g
45 Enable debugging.
46 .\" built into binary, explain stabs?
47 .It Fl s
48 Print statistics to standard error when complete.
49 This includes:
50 name table entries, name string size, permanent allocated memory,
51 temporary allocated memory, lost memory, argument list unions,
52 dimension/function unions, struct/union/enum blocks, inline node count,
53 inline control blocks, and permanent symtab entries.
54 .\" TODO: explain units for above?
55 .It Fl W Ar flags
56 Report warnings.
57 (Do some basic checks.)
58 NOTE!  These are subject to change RSN!
59 .Ar Flags
60 is one or more of the following:
61 .Bl -tag -width Ds
62 .It Sy implicit
63 Implies
64 .Sy implicit-int
65 and
66 .Sy implicit-function-declaration .
67 .It Sy implicit-int
68 TODO
69 .It Sy implicit-function-declaration
70 Report if no prototype for function.
71 .It Sy missing-prototypes
72 TODO
73 .It Sy strict-prototypes
74 TODO
75 .El
76 .\"
77 .It Fl x Ar optimizations
78 .Ar optimizations
79 is one or more of the following:
80 .Bl -tag -width deljumps
81 .It Sy deljumps
82 Delete redundant jumps and dead code.
83 .It Sy ssa
84 Convert statements into SSA form for optimization.  Not yet finished.
85 .It Sy tailcall
86 Currently not implemented.
87 .It Sy temps
88 Setting this flag allow variables to be put into registers, for further 
89 optimization by the register allocator.
90 .El
91 .\"
92 .It Fl X Ar C specific debugging flags
93 .Ar Flags
94 is one or more of the following:
95 .Bl -tag -width Ds
96 .It Sy b
97 Building of parse trees
98 .It Sy d
99 Declarations, more d gives more output
100 .It Sy t
101 Type conversions
102 .It Sy i
103 Initializations
104 .It Sy e
105 Pass1 trees at exit
106 .It Sy x
107 Target-specific flag, used in machine-dependent code
108 .El
109 .\"
110 .It Fl Z Ar Code generator (pass2) specific debugging flags
111 .Ar Flags 
112 is one or more of the following:
113 .Bl -tag -width Ds
114 .It Sy e
115 Trees when entering pass2
116 .It Sy o
117 Instruction generator
118 .It Sy f
119 Instruction matcher, may provide much output
120 .It Sy r
121 Register allocator
122 .It Sy t
123 Type matching in instruction generator
124 .It Sy s
125 Shape matching in instruction generator
126 .It Sy u
127 Sethi-Ullman computations
128 .It Sy x
129 Target-specific flag, used in machine-dependent code 
130 .El
131 .Sh SEE ALSO
132 .Xr as 1 ,
133 .Xr cpp 1 ,
134 .Xr pcc 1
135 .Sh HISTORY
136 The
137 .Nm
138 compiler is based on the original Portable C Compiler by S. C.
139 Johnson, written in the late 70's.
140 Even though much of the compiler has been rewritten, some of the
141 basics still remain.
142 About 50% of the frontend code and 80% of the backend code has been
143 rewritten.
144 Most is written by Anders Magnusson, with the exception of
145 the data-flow analysis part and the SSA conversion code which is
146 written by Peter A Jonsson, and the Mips port that were written as
147 part of a project by undergraduate students at Lulea University of 
148 Technology.
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-01 13:17 +0200