bpo-46748: Don't import <stdbool.h> in public headers (GH-31553)

<stdbool.h> is the standard/modern way to define embedd/extends Python free to define bool, true and false, but there are existing applications that use slightly different redefinitions, which fail if the header is included.

It's OK to use stdbool outside the public headers, though.

https://bugs.python.org/issue46748
This commit is contained in:
Petr Viktorin 2022-02-25 09:25:54 +01:00 committed by GitHub
parent 98c3bea4d1
commit 2c228a7b8f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 11 additions and 6 deletions

View file

@ -40,6 +40,9 @@
# error "_testcapi must test the public Python C API, not CPython internal C API"
#endif
#ifdef bool
# error "The public headers should not include <stdbool.h>, see bpo-46748"
#endif
// Forward declarations
static struct PyModuleDef _testcapimodule;