]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
bpo-43795: PEP-652: Simplify headers for easier static analysis (GH-25483)
authorPetr Viktorin <encukou@gmail.com>
Fri, 23 Apr 2021 12:14:00 +0000 (14:14 +0200)
committerGitHub <noreply@github.com>
Fri, 23 Apr 2021 12:14:00 +0000 (14:14 +0200)
commite7cc64e297001cc79b9afab80f71d9e6d1267cb7
treeda9243efa3082d9886d592588f0dbac062e428de
parent90d02e5e63e2cb8f66a2c0dd2ea8d7d4f45f4ebf
bpo-43795: PEP-652: Simplify headers for easier static analysis (GH-25483)

As part of the PEP-652 implementation, I'll tighten the CI check
for functions/data defined with `Py_LIMITED_API`.

Discussion in https://discuss.python.org/t/pep-652-maintaining-the-stable-abi/6986
suggests that parsing C headers is OK (though personally I'd rather generate it...),
but writing a full C parser is a monumental task and adding an existing one as a
dependency brings too many vendoring/bootstraping issues.

So, for the check I'll use a "simple" regex on preprocessor output, and adapt
the few trivial places where the regex won't work.

- Keep declarations in the limited API to one item per line
- Make it possible to override `_Py_NO_RETURN`, so the annotation can be
  removed from preprocessor output.

https://bugs.python.org/issue43795
Include/boolobject.h
Include/pyport.h