summaryrefslogtreecommitdiffstats
path: root/Include/cpython
diff options
context:
space:
mode:
Diffstat (limited to 'Include/cpython')
-rw-r--r--Include/cpython/coreconfig.h37
1 files changed, 7 insertions, 30 deletions
diff --git a/Include/cpython/coreconfig.h b/Include/cpython/coreconfig.h
index 73861a9..f05edda 100644
--- a/Include/cpython/coreconfig.h
+++ b/Include/cpython/coreconfig.h
@@ -18,34 +18,13 @@ typedef struct {
int exitcode;
} _PyInitError;
-/* Almost all errors causing Python initialization to fail */
-#ifdef _MSC_VER
- /* Visual Studio 2015 doesn't implement C99 __func__ in C */
-# define _Py_INIT_GET_FUNC() __FUNCTION__
-#else
-# define _Py_INIT_GET_FUNC() __func__
-#endif
-
-#define _Py_INIT_OK() \
- (_PyInitError){._type = _Py_INIT_ERR_TYPE_OK,}
- /* other fields are set to 0 */
-#define _Py_INIT_ERR(ERR_MSG) \
- (_PyInitError){ \
- ._type = _Py_INIT_ERR_TYPE_ERROR, \
- ._func = _Py_INIT_GET_FUNC(), \
- .err_msg = (ERR_MSG)}
- /* other fields are set to 0 */
-#define _Py_INIT_NO_MEMORY() _Py_INIT_ERR("memory allocation failed")
-#define _Py_INIT_EXIT(EXITCODE) \
- (_PyInitError){ \
- ._type = _Py_INIT_ERR_TYPE_EXIT, \
- .exitcode = (EXITCODE)}
-#define _Py_INIT_IS_ERROR(err) \
- (err._type == _Py_INIT_ERR_TYPE_ERROR)
-#define _Py_INIT_IS_EXIT(err) \
- (err._type == _Py_INIT_ERR_TYPE_EXIT)
-#define _Py_INIT_FAILED(err) \
- (err._type != _Py_INIT_ERR_TYPE_OK)
+PyAPI_FUNC(_PyInitError) _PyInitError_Ok(void);
+PyAPI_FUNC(_PyInitError) _PyInitError_Error(const char *err_msg);
+PyAPI_FUNC(_PyInitError) _PyInitError_NoMemory(void);
+PyAPI_FUNC(_PyInitError) _PyInitError_Exit(int exitcode);
+PyAPI_FUNC(int) _PyInitError_IsError(_PyInitError err);
+PyAPI_FUNC(int) _PyInitError_IsExit(_PyInitError err);
+PyAPI_FUNC(int) _PyInitError_Failed(_PyInitError err);
/* --- _PyWstrList ------------------------------------------------ */
@@ -56,8 +35,6 @@ typedef struct {
wchar_t **items;
} _PyWstrList;
-#define _PyWstrList_INIT (_PyWstrList){.length = 0, .items = NULL}
-
/* --- _PyPreConfig ----------------------------------------------- */