diff options
author | Erlend Egeberg Aasland <erlend.aasland@innova.no> | 2021-02-17 10:51:08 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-17 10:51:08 (GMT) |
commit | cd80f430daa7dfe7feeb431ed34f88db5f64aa30 (patch) | |
tree | 0f9872a24b851c515b3ab1853bb7cd834f7cee67 | |
parent | 801bb0b5035f8eeafe389dc082c02dfafaa07f6a (diff) | |
download | cpython-cd80f430daa7dfe7feeb431ed34f88db5f64aa30.zip cpython-cd80f430daa7dfe7feeb431ed34f88db5f64aa30.tar.gz cpython-cd80f430daa7dfe7feeb431ed34f88db5f64aa30.tar.bz2 |
bpo-40170: Always define PyExceptionClass_Name() as a function (GH-24553)
Remove macro variant of PyExceptionClass_Name().
-rw-r--r-- | Include/cpython/pyerrors.h | 4 | ||||
-rw-r--r-- | Misc/NEWS.d/next/C API/2021-02-16-22-29-39.bpo-40170.ahHmOo.rst | 3 | ||||
-rw-r--r-- | Objects/exceptions.c | 2 |
3 files changed, 3 insertions, 6 deletions
diff --git a/Include/cpython/pyerrors.h b/Include/cpython/pyerrors.h index c2500d9..6711e8b 100644 --- a/Include/cpython/pyerrors.h +++ b/Include/cpython/pyerrors.h @@ -78,10 +78,6 @@ PyAPI_FUNC(void) _PyErr_GetExcInfo(PyThreadState *, PyObject **, PyObject **, Py PyAPI_FUNC(void) _PyErr_ChainExceptions(PyObject *, PyObject *, PyObject *); -/* */ - -#define PyExceptionClass_Name(x) (((PyTypeObject*)(x))->tp_name) - /* Convenience functions */ #ifdef MS_WINDOWS diff --git a/Misc/NEWS.d/next/C API/2021-02-16-22-29-39.bpo-40170.ahHmOo.rst b/Misc/NEWS.d/next/C API/2021-02-16-22-29-39.bpo-40170.ahHmOo.rst new file mode 100644 index 0000000..348fcce --- /dev/null +++ b/Misc/NEWS.d/next/C API/2021-02-16-22-29-39.bpo-40170.ahHmOo.rst @@ -0,0 +1,3 @@ +:c:func:`PyExceptionClass_Name` is now always declared as a function, in +order to hide implementation details. The macro accessed +:c:member:`PyTypeObject.tp_name` directly. Patch by Erlend E. Aasland. diff --git a/Objects/exceptions.c b/Objects/exceptions.c index d482493..62cec9a 100644 --- a/Objects/exceptions.c +++ b/Objects/exceptions.c @@ -364,8 +364,6 @@ PyException_SetContext(PyObject *self, PyObject *context) Py_XSETREF(_PyBaseExceptionObject_cast(self)->context, context); } -#undef PyExceptionClass_Name - const char * PyExceptionClass_Name(PyObject *ob) { |