Thanks for the pointer. According to that information, everything in 
Include/fileutils.h should be the portable public C API. But there are 
definitions in there which start with _Py - and the information relating to 
Include/cpython/*.h suggests that API prefixed with _Py is conventionally 
private. Is there a reason why (for example) _Py_DecodeLocaleEx appears in 
Include/*.h with a prefix conventionally suggesting it's private, and which is 
backed up by the fact that it's not mentioned in the C API documentation? If 
it's just there for the moment because no-one got around to moving it to 
Include/cpython/*.h, it would be useful to know that. I'm not trying to 
nit-pick here - if we're going to apply visibility rules, then things like this 
need to be absolutely clear.

Just for info, I tried configuring and compiling with -fvisibility=hidden and 
declared default visibility on PyAPI_FUNC, PyAPI_DATA and PyMODINIT_FUNC, as 
well as one or two other declarations. The resulting build passes all tests run 
locally, except test_tools (which is currently also failing for me on master). 
I haven't yet pushed these changes to my public CPython fork, as it's still 
work in progress - which is why I'm asking these questions.

Regards,

Vinay Sajip
_______________________________________________
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/G6P4RSVKFF7E6QYHBO4ZRLNHSNJWA6MT/

Reply via email to