You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
pyfpe.h: Exclude PyFPE_START_PROTECT and PyFPE_END_PROTECT from the Py_LIMITED_API #83016
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
assignee=Noneclosed_at=<Date2019-11-20.11:19:41.795>created_at=<Date2019-11-18.14:35:51.139>labels= ['library', '3.9']
title='pyfpe.h: Exclude PyFPE_START_PROTECT and PyFPE_END_PROTECT from the Py_LIMITED_API'updated_at=<Date2019-11-20.11:19:41.792>user='https://github.com/vstinner'
I propose to exclude them from the stable API. Maybe at least exclude them from the stable API >= 3.9?
commit 735ae8d
Author: Nathaniel J. Smith <njs@pobox.com>
Date: Fri Jan 5 23:15:34 2018 -0800
bpo-29137: Remove fpectl module (bpo-4789)
This module has never been enabled by default, never worked correctly
on x86-64, and caused ABI problems that caused C extension
compatibility. See bpo-29137 for details/discussion.
Python/pyfpe.c still contains two variables (PyFPE_jbuf and PyFPE_counter) and one function (PyFPE_dummy) for ABI compatibility:
---
/* These variables used to be used when Python was built with --with-fpectl,
but support for that was dropped in 3.7. We continue to define them,
though, because they may be referenced by extensions using the stable ABI.
*/
If someone wants to remove them, I would suggest to first deprecate them, and wait at least one Python release before removing them. And do that in a separated issue: https://bugs.python.org/issue38835 title is "pyfpe.h: Exclude PyFPE_START_PROTECT and PyFPE_END_PROTECT from the Py_LIMITED_API", it's not directly related :-)
Activity
vstinner commentedon Nov 18, 2019
The bpo-29137 removed the fpectl module. But two macros were kept in pyfpe.h:
/* These macros used to do something when Python was built with --with-fpectl,
*/
I propose to exclude them from the stable API. Maybe at least exclude them from the stable API >= 3.9?
commit 735ae8d
Author: Nathaniel J. Smith <njs@pobox.com>
Date: Fri Jan 5 23:15:34 2018 -0800
vstinner commentedon Nov 18, 2019
Python/pyfpe.c still contains two variables (PyFPE_jbuf and PyFPE_counter) and one function (PyFPE_dummy) for ABI compatibility:
---
/* These variables used to be used when Python was built with --with-fpectl,
*/
vstinner commentedon Nov 20, 2019
New changeset be143ec by Victor Stinner in branch 'master':
bpo-38835: Don't use PyFPE_START_PROTECT and PyFPE_END_PROTECT (GH-17231)
be143ec
vstinner commentedon Nov 20, 2019
New changeset 488d02a by Victor Stinner in branch 'master':
bpo-38835: Exclude PyFPE macros from the stable API (GH-17228)
488d02a
vstinner commentedon Nov 20, 2019
Pablo asked on PR 17231:
#17231 (review)
I replied:
#17231 (comment)
In short, I'm not interested to remove it right now :-)
The initial issue has been fixed, so I close the issue. Thanks for your review Pablo ;-)