This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author tvanslyke
Recipients docs@python, tvanslyke
Date 2018-03-11.18:17:26
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1520792246.5.0.467229070634.issue33050@psf.upfronthosting.co.za>
In-reply-to
Content
It would be nice for those who write C extensions to have a resource that explicitly states what assumptions are made by the CPython implementation that are otherwise implementation-defined in standard C.  

For example, Python versions >= 3.6 require:
- That UCHAR_MAX is defined to be 255 (from Python.h)
- That fixed-width intXX_t and uintXX_t types are provided in stdint.h and inttypes.h (from PEP7)

These two requirements also pretty much guarantee that CHAR_BIT == 8.  These kinds of things are nice to know for anybody working with the C API; we can make the same assumptions in our own code without having hunt through the API docs or the CPython source tree every time something comes up.

From what I've found, there isn't any component of the documentation that explicitly lists these assumptions in one place (I apologize if there is and I somehow missed it...).  Could this be addressed in the future?  

Thanks!
History
Date User Action Args
2018-03-11 18:17:26tvanslykesetrecipients: + tvanslyke, docs@python
2018-03-11 18:17:26tvanslykesetmessageid: <1520792246.5.0.467229070634.issue33050@psf.upfronthosting.co.za>
2018-03-11 18:17:26tvanslykelinkissue33050 messages
2018-03-11 18:17:26tvanslykecreate