C++ User's Guide

Understanding the Compiler Organization

The C++ compiler package consists of a front end, optimizer, code generator, assembler, template pre-linker, and link editor. The CC command invokes each of these components automatically unless you use command-line options to specify otherwise.

Because any of these components may generate an error, and the components perform different tasks, it may be helpful to identify the component that generates an error.

Figure 2-1 The Compilation Process

Graphic

As shown in the following table, input files to the various compiler components have different file name suffixes. The suffix establishes the kind of compilation that is done. Refer to Table 2-1 for the meanings of the file suffixes.

Table 2-2 Components of the C++ Compilation System

Component 

Description 

Notes on Use 

ccfe

Front end (Compiler preprocessor and compiler) 

 
iropt

Code optimizer 

(SPARC) -xO[2-5], -fast

xcg386

Intermediate language translator 

(x86) Always invoked

inline

Inline expansion of assembly language templates 

(SPARC).il file specified

mwinline

Automatic inline expansion of functions 

(x86) -xO4, -xinline

fbe

Assembler 

 

cg

Code generator, inliner, assembler 

(SPARC)

codegen

Code generator 

(x86)

CClink

Template pre-linker 

 

ld

Non-incremental link editor 

 

ild

Incremental link editor 

-g, -xildon