C H A P T E R  1

Introduction to the C Compiler

This chapter provides information about the C compiler, including operating environments, standards conformance, organization of the compiler, and C-related programming tools.


1.1 Standards Conformance

The compiler conforms to the following standards:

This release also supports some of the features specified in the following standard:

Because the compiler also supports traditional K&R C (Kernighan and Ritchie, or pre-ANSI C), it can ease your migration to ISO C.

The term C99 used in this book refers to the ISO/IEC 9899:1999 C programming language. There term C90 refers to the ISO/IEC 9899:1990 C programming language.


1.2 Organization of the Compiler

The C compilation system consists of a compiler, an assembler, and a link editor. The cc command invokes each of these components automatically unless you use command-line options to specify otherwise.

Appendix A discusses all the options available with cc.

The following figure shows the organization of the C compilation system.

 FIGURE 1-1 Organization of the C Compilation System

Diagram showing the components of the C compilation system.[ D ]

The following table summarizes the components of the compilation system.

TABLE 1-1 Components of the C Compilation System

Component

Description

Notes on Use

cpp

Preprocessor

-Xs only

acomp

Compiler (preprocessor built in for non-Xs modes)

 

ssbd

Static synchronization bug detection

(SPARC)

iropt

Code optimizer

(SPARC) -O, -xO2, -xO3, -xO4, -xO5, -fast

fbe

Assembler

 

cg

Code generator, inliner, assembler

(SPARC)

ipo

Interprocedural Optimizer

(SPARC)

postopt

Postoptimizer

(SPARC)

ir2hf

Intermediate code translator

(INTEL)

ube

Code generator

(INTEL)

ube_ipa

Interprocedure analyzer

(INTEL)

ld

Linker

 

ild

Incremental linker

(SPARC) -g, -xildon

mcs

Manipulate comment section

-mr



1.3 C-Related Programming Tools

There are a number of tools available to aid in developing, maintaining, and improving your C programs. The two most closely tied to C, cscope and lint, are described in this book. In addition, a man page exists for each of these tools.

Other tools for source browsing, debugging and performance analysis are available. See Accessing Forte Developer Documentation for more information.