Scroll to navigation

CCOM(1) General Commands Manual CCOM(1)

NAME

ccomC 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 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:

Enable debugging.
Generate PIC code.
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.
Display version.
flags
Report warnings. (Do some basic checks.) flags is one or more of the following:
Report all warnings as errors.
Implies implicit-function-declaration and implicit-int.
Report if no prototype was declared for a function.
TODO
TODO
TODO
Enable all warnings.
flags
C specific debugging where flags is one or more of the following:
Building of parse trees
Declarations (using multiple d flags gives more output)
Pass1 trees at exit
Initializations
Memory allocations
Turn off optimisations
Prototypes
Inlining
Type conversions
Target-specific flag, used in machine-dependent code
optimizations
optimizations is one of the following:
Delete redundant jumps and dead code.
Convert statements into SSA form for optimization. Not yet finished.
Currently not implemented.
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.
flags
Code generator (pass2) specific debugging where flags is one or more of the following:
Basic block and SSA building
Code printout
Trees when entering pass2
Instruction matcher, may provide much output
Memory allocation
Instruction generator
Register allocator
Shape matching in instruction generator
Type matching in instruction generator
Sethi-Ullman computations
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.

September 14, 2007 Linux 6.14.1-1-default