Extensions to RT C Provided by extended C -
AIX info
The following are part of the ANSI/ISO C
definition and are part of the extended language
level. They cause no conflict with existing RT C source:
- #pragma, #elif,
and #error preprocessor directives.
- Ability to form macro literals using #.
- Macro concatenation using ##.
- Recursive macro definitions are only
expanded once.
- White space or comment allowed before #.
- Trigraph sequences.
- Redeclaration of typedef
names (variable defined as a typedef can
be redeclared as an identifier).
- const and volatile
type qualifiers.
- Support of the signed
keyword with char, int,
short, and long data
types.
- Suffixes l and L for
type long double floating-point
constants.
- Suffixes u and U for
types unsigned char and unsigned
int.
- Hexadecimal constants of the form \0xdd.
- Unary + operator.
- enum and void
types.
- Function prototypes (including variable
number of arguments specified by an ellipsis (...)).
- Initialization of auto aggregate
variables.
Language Levels
Conflicts Between extended
C and Other Levels
Exceptions to ansi
C Addressed by classic C
saal2
C Deviations from SAA Level 2 C
Arithmetic
Conversions for extended Level C
Summary of C
Language Level Conflicts