1CCOM(1)                   BSD General Commands Manual                  CCOM(1)
2

NAME

4     ccom — C compiler
5

SYNOPSIS

7     ccom [-gs] [-W flags] [-X flags] [-x optimizations] [-Z flags] [infile]
8          [outfile]
9

DESCRIPTION

11     The ccom utility provides a C compiler.  The frontend is usually pcc(1).
12     It is not intended to be run directly.
13
14     ccom reads the C source from infile or standard input and writes the
15     assembler source to outfile or to standard output.
16
17     The options are as follows:
18
19     -g      Enable debugging.
20
21     -k      Generate PIC code.
22
23     -s      Print statistics to standard error when complete.  This includes:
24             name table entries, name string size, permanent allocated memory,
25             temporary allocated memory, lost memory, argument list unions,
26             dimension/function unions, struct/union/enum blocks, inline node
27             count, inline control blocks, and permanent symtab entries.
28
29     -v      Display version.
30
31     -W flags
32             Report warnings.  (Do some basic checks.)  NOTE! These are
33             subject to change RSN! flags is one or more of the following:
34
35             error   Report all warnings as errors.
36
37             implicit
38                     Implies implicit-function-declaration and implicit-int.
39
40             implicit-function-declaration
41                     Report if no prototype was declared for a function.
42
43             implicit-int
44                     TODO
45
46             missing-prototypes
47                     TODO
48
49             strict-prototypes
50                     TODO
51
52             W       Enable all warnings.
53
54     -X flags
55             C specific debugging where flags is one or more of the following:
56
57             b       Building of parse trees
58
59             d       Declarations (using multiple d flags gives more output)
60
61             e       Pass1 trees at exit
62
63             i       Initializations
64
65             n       Memory allocations
66
67             o       Turn off optimisations
68
69             p       Prototypes
70
71             s       Inlining
72
73             t       Type conversions
74
75             x       Target-specific flag, used in machine-dependent code
76
77     -x optimizations
78             optimizations is one of the following:
79
80             deljumps  Delete redundant jumps and dead code.
81
82             ssa       Convert statements into SSA form for optimization.  Not
83                       yet finished.
84
85             tailcall  Currently not implemented.
86
87             temps     Setting this flag allows variables to be put into reg‐
88                       isters, for further optimization by the register allo‐
89                       cator.
90             The -x flag can be passed multiple times to set different
91             options.
92
93     -Z flags
94             Code generator (pass2) specific debugging where flags is one or
95             more of the following:
96
97             b       Basic block and SSA building
98
99             c       Code printout
100
101             e       Trees when entering pass2
102
103             f       Instruction matcher, may provide much output
104
105             n       Memory allocation
106
107             o       Instruction generator
108
109             r       Register allocator
110
111             s       Shape matching in instruction generator
112
113             t       Type matching in instruction generator
114
115             u       Sethi-Ullman computations
116
117             x       Target-specific flag, used in machine-dependent code
118

SEE ALSO

120     as(1), cpp(1), pcc(1)
121

HISTORY

123     The ccom compiler is based on the original Portable C Compiler by S. C.
124     Johnson, written in the late 70's.  Even though much of the compiler has
125     been rewritten, some of the basics still remain.  About 50% of the fron‐
126     tend code and 80% of the backend code has been rewritten.  Most is writ‐
127     ten by Anders Magnusson, with the exception of the data-flow analysis
128     part and the SSA conversion code which is written by Peter A Jonsson, and
129     the Mips port that were written as part of a project by undergraduate
130     students at Lulea University of Technology.
131
132     This product includes software developed or owned by Caldera Interna‐
133     tional, Inc.
134
135BSD                           September 14, 2007                           BSD
Impressum