|
The Green Hills Optimizing C Compilers conform fully to ANSI X3.159-1989
Standard C (ISO/IEC 9899 and FIPS PUB 160). Green Hills C Compilers consist
of a Language-Specific Front-End, a Global Optimizer, and a Target-Specific
Optimizer and Code Generator. All Green Hills Compilers use the same
Global Optimizer regardless of language or target, and the same Target-Specific
Optimizers and Code Generators regardless of language. Optimizations
may be optionally weighted for either code speed or minimum size.
Tool
Chain
The Green Hills Tool Chain consists of a Macro Assembler, Librarian,
Linker and Utility Programs. The Macro Assembler assembles compiler-generated
or user-coded assembly language files into object files. The Librarian
manages object file libraries. The Linker links object files and object
file libraries into executable programs.
Validation
Green Hills C Compilers are validated with thousands of tests before
release:
- Plum Hall Validation Test Suites test for ANSI C conformance.
- Perennial Validations test for UNIX C and ANSI C conformance.
- MetaWare C Test Suite verifies tricky or obscure ANSI C conformance.
- The Green Hills Autotest Program generates 80,000 different short, self-checking C programs, with most combinations of C statements, operators, and datatypes to ensure a robust software release.
|
|
|
Green Hills Optimizing C Compilers support
five dialects of the C programming language:
- Strict ANSI - Strict ANSI mode is 100% compliant with the
ANSI X3.159-1989 standard with all of the restrictions enforced.
- Permissive ANSI - Sets the compiler in Permissive ANSI compatibility
mode. All of the features of the ANSI standard are enforced, without
some of the restrictions.
- Transition Mode - This mode allows existing programs written
in K&R C to make use of certain features of ANSI C. In particular,
function prototypes and the keywords const, signed, and volatile are
supported, along with all of the features of K+R mode.
- MISRA C - Provides automated enforcement
of MISRA C programming guidelines.
- K + R - For C source files, interpret the source code as the
C version documented in Kernigham & Ritchie, first edition, and
compatible with the Portable C.
- Gnu C - Many Gnu C language extensions are optionally accepted.
|