From 754bbf7a25a8dda49b5d08ef0d0443bbf5af0e36 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Sun, 7 Apr 2024 13:41:34 -0500 Subject: new repository --- devdocs/c/language%2Fconformance.html | 55 +++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 devdocs/c/language%2Fconformance.html (limited to 'devdocs/c/language%2Fconformance.html') diff --git a/devdocs/c/language%2Fconformance.html b/devdocs/c/language%2Fconformance.html new file mode 100644 index 00000000..63acf442 --- /dev/null +++ b/devdocs/c/language%2Fconformance.html @@ -0,0 +1,55 @@ +

Conformance

Conformance has a three-fold definition:

+

Explanation

The standard does not define any minimum implementation limit on translation units. A hosted environment has an operating system; a freestanding environment does not. A program running in a hosted environment may use all features described in the library clause (clause 7); a program running in a freestanding environment may use a subset of library features required by clause 4.

+

Freestanding standard library headers

All standard library features in every fully freestanding header are required to be provided by a freestanding implementation.

+ + +

Some standard library headers are conditionally freestanding.

+
  • If the implementation predefines the macro __STDC_IEC_60559_BFP__ or __STDC_IEC_60559_DFP__, then

In a partially freestanding header, only a part of standard library features are required to be provided by a freestanding implementation.

+
    +
  • strdup, strndup, strcoll, strxfrm, and strerror are not required to be provided by a freestanding implementation.
  • +
  • When __STDC_IEC_60559_BFP__ or __STDC_IEC_60559_DFP__ are predefined, in <stdlib.h>, only numeric conversion functions (atoX, strtoX, and strfromX) are required to be provided by a freestanding implementation.
  • +
(since C23)
+ + + + + + + + + + + + + + + + + +
Fully freestanding standard library headers
<float.h> Limits of floating-point types
<iso646.h> (since C95) Alternative operator spellings
<limits.h> Ranges of integer types
<stdalign.h> (since C11) alignas and alignof convenience macros
<stdarg.h> Variable arguments
<stdbool.h> (since C99) Macros for boolean type
<stddef.h> Common macro definitions
<stdint.h> (since C99) Fixed-width integer types
<stdnoreturn.h> (since C11) noreturn convenience macro
<stdbit.h> (since C23) Macros to work with the byte and bit representations of types
Partially freestanding standard library headers
<string.h> (since C23) String handling
Conditionally fully freestanding standard library headers
<fenv.h> (since C23) Floating-point environment
<math.h> (since C23) Common mathematics functions
Conditionally partially freestanding standard library headers
<stdlib.h> (since C23) General utilities: memory management, program utilities, string conversions, random numbers, algorithms

References

See also

+
C++ documentation for Freestanding and hosted implementation
+

+ © cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
+ https://en.cppreference.com/w/c/language/conformance +

+
-- cgit v1.2.3