4 C Implementation-Defined Behavior ΒΆ

A conforming implementation of ISO C is required to document its choice of behavior in each of the areas that are designated β€œimplementation defined”. The following lists all such areas, along with the section numbers from the ISO/IEC 9899:1990, ISO/IEC 9899:1999, ISO/IEC 9899:2011 and ISO/IEC 9899:2024 standards. Some areas are only implementation-defined in one version of the standard.

Some choices depend on the externally determined ABI for the platform (including standard character encodings) which GCC follows; these are listed as β€œdetermined by ABI” below. See Binary Compatibility, and https://gcc.gnu.org/readings.html. Some choices are documented in the preprocessor manual. See Implementation-defined behavior in The C Preprocessor. Some choices are made by the library and operating system (or other environment when compiling for a freestanding environment); refer to their documentation for details.