1CCOM(1) BSD General Commands Manual CCOM(1)
2
4 ccom — C compiler
5
7 ccom [-gs] [-W flags] [-X flags] [-x optimizations] [-Z flags] [infile]
8 [outfile]
9
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
120 as(1), cpp(1), pcc(1)
121
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