@@ -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). |