Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions pep-0007.txt
Original file line number Diff line number Diff line change
Expand Up @@ -31,13 +31,11 @@ particular rule:
C dialect
=========

* Python versions before 3.6 use ANSI/ISO standard C (the 1989 version
of the standard). This means (amongst many other things) that all
declarations must be at the top of a block (not necessarily at the
top of function).
* Python 3.11 and newer versions use C11 without `optional features
<https://en.wikipedia.org/wiki/C11_%28C_standard_revision%29#Optional_features>`_.
The public C API should be compatible with C++.

* Python versions greater than or equal to 3.6 use C89 with several
select C99 features:
* Python 3.6 to 3.10 use C89 with several select C99 features:

- Standard integer types in ``<stdint.h>`` and ``<inttypes.h>``. We
require the fixed width integer types.
Expand All @@ -47,8 +45,10 @@ C dialect
- booleans
- C++-style line comments

Future C99 features may be added to this list in the future
depending on compiler support (mostly significantly MSVC).
* Python versions before 3.6 used ANSI/ISO standard C (the 1989 version
of the standard). This meant (amongst many other things) that all
declarations must be at the top of a block (not necessarily at the
top of function).

* Don't use compiler-specific extensions, such as those of GCC or MSVC
(e.g. don't write multi-line strings without trailing backslashes).
Expand Down