allow some c99 · python/peps@b6efe6e (original) (raw)

Original file line number Diff line number Diff line change
@@ -31,9 +31,22 @@ particular rule:
31 31 C dialect
32 32 =========
33 33
34 -* Use ANSI/ISO standard C (the 1989 version of the standard). This
35 - means (amongst many other things) that all declarations must be at
36 - the top of a block (not necessarily at the top of function).
34 +* Python versions before 3.6 use ANSI/ISO standard C (the 1989 version
35 + of the standard). This means (amongst many other things) that all
36 + declarations must be at the top of a block (not necessarily at the
37 + top of function).
38 +
39 +* Python versions greater than or equal to 3.6 use C89 with several
40 + select C99 features:
41 +
42 + - Standard integer types in ``<stdint.h>`` and ``<inttypes.h>``
43 + - ``static inline`` functions
44 + - designated initializers (especially nice for type declarations)
45 + - intermingled declarations
46 + - booleans
47 +
48 + Future C99 features may be added to this list in the future
49 + depending on compiler support (mostly significantly MSVC).
37 50
38 51 * Don't use GCC extensions (e.g. don't write multi-line strings
39 52 without trailing backslashes).