C99 Extensions in TI Compilers

From Texas Instruments Embedded Processors Wiki

Jump to: navigation, search
Translate this page to   

Introduction

TI compilers support the C99 language (ISO/IEC 9899:1999). However, the TI compilers are not (yet) conforming compilers. This means that only some of the many language constructs introduced in C99 are available. Many of these language features are available because they are also included in the GCC extensions supported in the TI compilers in Relaxed ANSI mode.

For a good summary of all the features introduced by C99 see this list. (It also describes the state of implementation of these in the popular GNU Compiler Collection C compiler (gcc)).


Features

Code Availability
Key to When column
A Always
NS Except in strict ANSI mode
R Relaxed ANSI mode


In compilers released prior to late-2010, "R" => --gcc option needed instead of Relaxed ANSI mode


Feature When Comments
Restricted pointers R restrict keyword
Flexible array member R Support GCC [0], not C99 []
long long type A --
Universal character names R \u and \U
Compound literals R --
Non-constant initializers R --
Designated initializers R --
C++ style // comments NS --
inttypes.h A --
stdint.h A --
Mixed declarations and code NS --
Variadic macros R --
Additional math functions in math.h A cosf, acosh, exp2 et al. for ARM, C6x and C55x only
inline keyword NS --
snprintf family of functions in stdio.h A --
stdbool.h A --
_Pragma preprocessor operator A --
__func__ predefined identifier R --
Conversion of array to pointer not limited to Lvalues R --
Leave a Comment
Personal tools
Namespaces
Variants
Actions
Navigation
Print/export
Toolbox