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 |
![]()
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