gh-106320: Remove private _PyTraceback functions (#108453)

Move private functions to the internal C API (pycore_traceback.h):

* _Py_DisplaySourceLine()
* _PyTraceback_Add()
This commit is contained in:
Victor Stinner 2023-08-25 01:35:47 +02:00 committed by GitHub
parent d6ac5c7b10
commit 546cab8444
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 13 additions and 8 deletions

View file

@ -11,6 +11,3 @@ struct _traceback {
int tb_lasti; int tb_lasti;
int tb_lineno; int tb_lineno;
}; };
PyAPI_FUNC(int) _Py_DisplaySourceLine(PyObject *, PyObject *, int, int, int *, PyObject **);
PyAPI_FUNC(void) _PyTraceback_Add(const char *, const char *, int);

View file

@ -8,6 +8,12 @@ extern "C" {
# error "this header requires Py_BUILD_CORE define" # error "this header requires Py_BUILD_CORE define"
#endif #endif
// Export for '_ctypes' shared extension
PyAPI_FUNC(int) _Py_DisplaySourceLine(PyObject *, PyObject *, int, int, int *, PyObject **);
// Export for 'pyexact' shared extension
PyAPI_FUNC(void) _PyTraceback_Add(const char *, const char *, int);
/* Write the Python traceback into the file 'fd'. For example: /* Write the Python traceback into the file 'fd'. For example:
Traceback (most recent call first): Traceback (most recent call first):

View file

@ -102,7 +102,9 @@ module _ctypes
#endif #endif
#include "pycore_runtime.h" // _PyRuntime #include "pycore_runtime.h" // _PyRuntime
#include "pycore_global_objects.h" // _Py_ID() #include "pycore_global_objects.h"// _Py_ID()
#include "pycore_traceback.h" // _PyTraceback_Add()
#include "clinic/callproc.c.h" #include "clinic/callproc.c.h"
#define CTYPES_CAPSULE_NAME_PYMEM "_ctypes pymem" #define CTYPES_CAPSULE_NAME_PYMEM "_ctypes pymem"

View file

@ -5,6 +5,7 @@
#include "Python.h" #include "Python.h"
#include "pycore_import.h" // _PyImport_SetModule() #include "pycore_import.h" // _PyImport_SetModule()
#include "pycore_pyhash.h" // _Py_HashSecret #include "pycore_pyhash.h" // _Py_HashSecret
#include "pycore_traceback.h" // _PyTraceback_Add()
#include <ctype.h> #include <ctype.h>
#include <stddef.h> // offsetof() #include <stddef.h> // offsetof()

View file

@ -1,13 +1,12 @@
#include "Python.h" #include "Python.h"
#include "pycore_dict.h" // _PyDict_GetItemWithError() #include "pycore_dict.h" // _PyDict_GetItemWithError()
#include "pycore_frame.h"
#include "pycore_initconfig.h"
#include "pycore_interp.h" // PyInterpreterState.warnings #include "pycore_interp.h" // PyInterpreterState.warnings
#include "pycore_long.h" // _PyLong_GetZero() #include "pycore_long.h" // _PyLong_GetZero()
#include "pycore_pyerrors.h" #include "pycore_pyerrors.h" // _PyErr_Occurred()
#include "pycore_pylifecycle.h" // _Py_IsInterpreterFinalizing() #include "pycore_pylifecycle.h" // _Py_IsInterpreterFinalizing()
#include "pycore_pystate.h" // _PyThreadState_GET() #include "pycore_pystate.h" // _PyThreadState_GET()
#include "pycore_sysmodule.h" // _PySys_GetAttr() #include "pycore_sysmodule.h" // _PySys_GetAttr()
#include "pycore_traceback.h" // _Py_DisplaySourceLine()
#include "clinic/_warnings.c.h" #include "clinic/_warnings.c.h"