summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@redhat.com>2019-06-13 00:40:41 (GMT)
committerGitHub <noreply@github.com>2019-06-13 00:40:41 (GMT)
commitf9445a391e6a91103fbe88bff4d3adc07f526c73 (patch)
tree51260abaf0f407e54a25af8c745cbc4743666347
parent92e836c7dcaf74f7b8617250414224d24d1eb1f2 (diff)
downloadcpython-f9445a391e6a91103fbe88bff4d3adc07f526c73.zip
cpython-f9445a391e6a91103fbe88bff4d3adc07f526c73.tar.gz
cpython-f9445a391e6a91103fbe88bff4d3adc07f526c73.tar.bz2
[3.8] bpo-37253: Document PyCompilerFlags.cf_feature_version (GH-14019) (GH-14038)
* Update PyCompilerFlags structure documentation. * Document the new cf_feature_version field in the Changes in the C API section of the What's New in Python 3.8 doc. (cherry picked from commit 2c9b498759f4fc74da82a0a96d059d666fa73f16)
-rw-r--r--Doc/c-api/veryhigh.rst19
-rw-r--r--Doc/whatsnew/3.8.rst5
2 files changed, 20 insertions, 4 deletions
diff --git a/Doc/c-api/veryhigh.rst b/Doc/c-api/veryhigh.rst
index 3fe0ae4..e6704dd 100644
--- a/Doc/c-api/veryhigh.rst
+++ b/Doc/c-api/veryhigh.rst
@@ -388,11 +388,22 @@ the same library that the Python runtime is using.
Whenever ``PyCompilerFlags *flags`` is *NULL*, :attr:`cf_flags` is treated as
equal to ``0``, and any modification due to ``from __future__ import`` is
- discarded. ::
+ discarded.
- struct PyCompilerFlags {
- int cf_flags;
- }
+ .. c:member:: int cf_flags
+
+ Compiler flags.
+
+ .. c:member:: int cf_feature_version
+
+ *cf_feature_version* is the minor Python version. It should be
+ initialized to ``PY_MINOR_VERSION``.
+
+ The field is ignored by default, it is used if and only if
+ ``PyCF_ONLY_AST`` flag is set in *cf_flags*.
+
+ .. versionchanged:: 3.8
+ Added *cf_feature_version* field.
.. c:var:: int CO_FUTURE_DIVISION
diff --git a/Doc/whatsnew/3.8.rst b/Doc/whatsnew/3.8.rst
index 7e5d2f1..9989a09 100644
--- a/Doc/whatsnew/3.8.rst
+++ b/Doc/whatsnew/3.8.rst
@@ -1293,6 +1293,11 @@ Changes in the Python API
Changes in the C API
--------------------
+* The :c:type:`PyCompilerFlags` structure gets a new *cf_feature_version*
+ field. It should be initialized to ``PY_MINOR_VERSION``. The field is ignored
+ by default, it is used if and only if ``PyCF_ONLY_AST`` flag is set in
+ *cf_flags*.
+
* The :c:func:`PyEval_ReInitThreads` function has been removed from the C API.
It should not be called explicitly: use :c:func:`PyOS_AfterFork_Child`
instead.