summaryrefslogtreecommitdiffstats
path: root/Python
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@python.org>2022-01-22 20:48:56 (GMT)
committerGitHub <noreply@github.com>2022-01-22 20:48:56 (GMT)
commitf1bcdeaca6e912a2bec1fbcff76cc49e7f761d38 (patch)
tree21cf3d580c398760d89d22242b11a890a831a552 /Python
parenta941e5927f7f2540946813606c61c6aea38db426 (diff)
downloadcpython-f1bcdeaca6e912a2bec1fbcff76cc49e7f761d38.zip
cpython-f1bcdeaca6e912a2bec1fbcff76cc49e7f761d38.tar.gz
cpython-f1bcdeaca6e912a2bec1fbcff76cc49e7f761d38.tar.bz2
bpo-46417: Factorize _PyExc_InitTypes() code (GH-30804)
Add 'static_exceptions' list to factorize code between _PyExc_InitTypes() and _PyBuiltins_AddExceptions(). _PyExc_InitTypes() does nothing if it's not the main interpreter. Sort exceptions in Lib/test/exception_hierarchy.txt.
Diffstat (limited to 'Python')
-rw-r--r--Python/pylifecycle.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/Python/pylifecycle.c b/Python/pylifecycle.c
index a53f532..aca3b1a 100644
--- a/Python/pylifecycle.c
+++ b/Python/pylifecycle.c
@@ -740,9 +740,8 @@ pycore_init_types(PyInterpreterState *interp)
return status;
}
- status = _PyExc_InitTypes(interp);
- if (_PyStatus_EXCEPTION(status)) {
- return status;
+ if (_PyExc_InitTypes(interp) < 0) {
+ return _PyStatus_ERR("failed to initialize an exception type");
}
status = _PyExc_InitGlobalObjects(interp);
@@ -790,9 +789,8 @@ pycore_init_builtins(PyThreadState *tstate)
Py_INCREF(builtins_dict);
interp->builtins = builtins_dict;
- PyStatus status = _PyBuiltins_AddExceptions(bimod);
- if (_PyStatus_EXCEPTION(status)) {
- return status;
+ if (_PyBuiltins_AddExceptions(bimod) < 0) {
+ return _PyStatus_ERR("failed to add exceptions to builtins");
}
interp->builtins_copy = PyDict_Copy(interp->builtins);