Summary of C Language Level Conflicts - AIX info

This section summarizes for quick reference the conflicts listed in the related pages.

Note: The following table shows only those features of extended level C that conflict with either RT C or ANSI/ISO C. Features that are part of extended C but not part of RT C are not listed in the table unless they present a conflict.

Area of Conflict RT C ansi C extended C
asm and fortran keywords Supported Not Supported Not Supported
=+ and =- operator Supported Not Supported Not Supported
Type specifier not required when a name that was previously defined as a typedef is redefined Supported Not Supported Not Supported
Scope of external data declared or defined at block scope File Block Block
#ifdef using logical operators or period (.) Supported Not Supported Not Supported
Taking the address of a register variable Supported Not Supported Not Supported
Modifiable or unmodifiable string literals Modifiable Unmodifiable Modifiable
Relaxed ref/def model Supported Not Supported Supported
unsigned char and unsigned short bit fields Supported Not Supported Changed to unsigned int
unsigned char and char recognized as incompatible types Not Supported Supported Not Supported
long long int type Not Supported Not Supported Supported
Scope of external functions declared at block scope File Block File
Handling of macro parameters within string literals Expanded Not Expanded Expanded
Preprocessor macro can be redefined without first being undefined Supported Not Supported Supported
Rules followed when performing arithmetic conversions RT C ANSI/ISO RT C
All valid pointer conversions without an explicit cast Supported Not Supported Supported
Assignment of pointers to different types Supported Not Supported Supported
Enumeration declarations with trailing extra comma Supported Not Supported Supported
Functions without definition accepted and defined extern Supported Not Supported Supported
Definition of static function Not Required Required Not Required
sizeof operator on bit fields Supported Not Supported Supported
Array initialization without braces Supported Not Supported Not Supported
Last member of a structure definition not terminated by a semicolon Supported Not Supported Not Supported
Predefined macro name unix and AIX _AIX _AIX
$ character in identifiers Permitted Prohibited Permitted
Macro concatenation using /**/ Supported Not Supported Supported

 



Language Levels


Conflicts Between extended C and Other Levels
Extensions to RT C Provided by extended C
Exceptions to ansi C Addressed by classic C
saal2 C Deviations from SAA Level 2 C
Arithmetic Conversions for extended Level C