Leading the Embedded World

C Optimizing Compilers (cont'd)

C Options

Green Hills C contains many specific language options so code can meet specific needs. These options add extensions or select aspects of the C language which are not defined by the language specification. These options include:

  • Ignore Duplicate #include - Ignores a #include directive if attempting to include a file already included.
  • Allow macros to be Re#defined - Suppresses the warning or error normally given when two #define directives provide different values for the same preprocessor symbol.
  • Allow Wrong #directives inside #if 0 - During preprocessing, lines inside of a false #if, #elif, #ifdef, or #ifndef are ignored.
  • No Warning for Incorrect #pragma - Suppresses warnings for errors in #pragma that are recognized by the compiler or are incorrect.
  • Allow #pragma asm and #pragma inline - Allows the use of #pragma asm, #pragma endasm, and #pragma inline in C source files.
  • No output for #ident or #pragma ident - Prevents the compiler from emitting an ident directive in the assembly language output or placing the same information in the .comment section when generating COFF or ELF object files directly.
  • Allow // style comments in C - Allows C++ style comments in C source code.
  • Concat 2 Symbols Separated by Comment - Allows /* */ as concatenation in K & R C.
  • Allow GNU Syntax Extensions - Supports GNU extensions, such as #import, zero size arrays, compound statements as part of expressions, inline functions, and the __inline__keyword.
  • Japanese Automotive C - Enables a set of extensions to ANSI C used by Japanese automobile manufacturers.
  • Allow extern to be Initialized - Allows variables declared with the extern storage class to accept initial values.
    Disallow Old Fashioned Syntax - Does not recognize outdated syntax for initializing variables, such as int i 5; and for assignment operators like =+, =-, =*.
  • Allocate Small Enums as char or short - Allocates enumerated types to the smallest storage possible.
  • Truncate External Symbols - Truncate all symbol names to eight characters for compatibility with older compilers and linkers.
True Optimizing Compilers

Optimizations can significantly decrease program size and increase execution speed. Green Hills C Compilers typically apply more than 100 optimizations on each program, producing efficient code with a minimal footprint.

Product Availability and Support

Green Hills Optimizing C Compilers are available for Windows, Linux, Solaris, and HP-UX hosts for a wide variety of 32- and 64-bit microprocessor families including ARM/XScale, ARC, Blackfin, ColdFire, 68xxx, MIPS, Power Architecture, SH, Sparc, V800, and Intel Architecture.

» Return to C Optimizing Compilers

© 1996-2012 Green Hills Software Trademark Acknowledgements