table of contents
CCOM(1) | 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:
-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.
-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¶
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.
September 14, 2007 | Linux 6.14.1-1-default |