PEP 7: Python 3.11 uses C11 (#2309)

This commit is contained in:
Victor Stinner 2022-02-25 00:13:06 +01:00 committed by GitHub
parent d795805141
commit e846b706bb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 8 additions and 8 deletions

View File

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