Repository navigation
pyfpe.h: Exclude PyFPE_START_PROTECT and PyFPE_END_PROTECT from the Py_LIMITED_API #83016
Description
Activity
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,
- but support for that was dropped in 3.7. We continue to define them though,
- to avoid breaking API users.
*/
#define PyFPE_START_PROTECT(err_string, leave_stmt) #define PyFPE_END_PROTECT(v)
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 <[email protected]>
Date: Fri Jan 5 23:15:34 2018 -0800bpo-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.- added3.9 (EOL)end of lifeend of lifestdlibStandard Library Python modules in the Lib/ directoryStandard Library Python modules in the Lib/ directory
on 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,- 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.
*/
#include "setjmp.h" jmp_buf PyFPE_jbuf; int PyFPE_counter; double PyFPE_dummy(void *dummy) { return 1.0; }
Pablo asked on PR 17231:
Do you want to left the empty macro in Include/pyfpe.h?
I replied:
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 :-)
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 ;-)
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:
bugs.python.org fields: