J.5 Common extensions
- J.5.1 Environment arguments
- J.5.2 Specialized identifiers
- J.5.3 Lengths and cases of identifiers
- J.5.4 Scopes of identifiers
- J.5.5 Writable string literals
- J.5.6 Other arithmetic types
- J.5.7 Function pointer casts
- J.5.8 Extended bit-field types
- J.5.9 The fortran keyword
- J.5.10 The asm keyword
- J.5.11 Multiple external definitions
- J.5.12 Predefined macro names
- J.5.13 Floating-point status flags
- J.5.14 Extra arguments for signal handlers
- J.5.15 Additional stream types and file-opening modes
- J.5.16 Defined file position indicator
- J.5.17 Math error reporting
The following extensions are widely used in many systems, but are not portable to all implementations. The inclusion of any extension that may cause a strictly conforming program to become invalid renders an implementation nonconforming. Examples of such extensions are new keywords, extra library functions declared in standard headers, or predefined macros with names that do not begin with an underscore.