DragonFly On-Line Manual Pages
CCOM(1) DragonFly General Commands Manual CCOM(1)
NAME
ccom - C compiler
SYNOPSIS
ccom [-gs] [-W flags] [-X flags] [-x optimizations] [-Z flags] [infile]
[outfile]
DESCRIPTION
The ccom utility provides a C compiler. The frontend is usually pcc(1).
It is not intended to be run directly.
ccom reads the C source from infile or standard input and writes the
assembler source to outfile or to standard output.
The options are as follows:
-g Enable debugging.
-k Generate PIC code.
-s Print statistics to standard error when complete. This includes:
name table entries, name string size, permanent allocated memory,
temporary allocated memory, lost memory, argument list unions,
dimension/function unions, struct/union/enum blocks, inline node
count, inline control blocks, and permanent symtab entries.
-v Display version.
-W flags
Report warnings. (Do some basic checks.) NOTE! These are
subject to change RSN! flags is one or more of the following:
error Report all warnings as errors.
implicit
Implies implicit-function-declaration and implicit-int.
implicit-function-declaration
Report if no prototype was declared for a function.
implicit-int
TODO
missing-prototypes
TODO
strict-prototypes
TODO
W Enable all warnings.
-X flags
C specific debugging where flags is one or more of the following:
b Building of parse trees
d Declarations (using multiple d flags gives more output)
e Pass1 trees at exit
i Initializations
n Memory allocations
o Turn off optimisations
p Prototypes
s Inlining
t Type conversions
x Target-specific flag, used in machine-dependent code
-x optimizations
optimizations is one of the following:
deljumps Delete redundant jumps and dead code.
ssa Convert statements into SSA form for optimization. Not
yet finished.
tailcall Currently not implemented.
temps Setting this flag allows variables to be put into
registers, for further optimization by the register
allocator.
The -x flag can be passed multiple times to set different
options.
-Z flags
Code generator (pass2) specific debugging where flags is one or
more of the following:
b Basic block and SSA building
c Code printout
e Trees when entering pass2
f Instruction matcher, may provide much output
n Memory allocation
o Instruction generator
r Register allocator
s Shape matching in instruction generator
t Type matching in instruction generator
u Sethi-Ullman computations
x Target-specific flag, used in machine-dependent code
SEE ALSO
as(1), cpp(1), pcc(1)
HISTORY
The ccom compiler is based on the original Portable C Compiler by S. C.
Johnson, written in the late 70's. Even though much of the compiler has
been rewritten, some of the basics still remain. About 50% of the
frontend code and 80% of the backend code has been rewritten. Most is
written by Anders Magnusson, with the exception of the data-flow analysis
part and the SSA conversion code which is written by Peter A Jonsson, and
the Mips port that were written as part of a project by undergraduate
students at Lulea University of Technology.
This product includes software developed or owned by Caldera
International, Inc.
DragonFly 6.5-DEVELOPMENT September 14, 2007 DragonFly 6.5-DEVELOPMENT