summaryrefslogtreecommitdiff
path: root/numpy/linalg
diff options
context:
space:
mode:
authorEric Wieser <wieser.eric@gmail.com>2018-04-19 23:31:35 -0700
committerGitHub <noreply@github.com>2018-04-19 23:31:35 -0700
commitf6c4dacc3b8f6dda3920a5ae6ebe48758a47e00d (patch)
tree774eb39cc43658725fa7a4c35d6fb4678449d811 /numpy/linalg
parenta9e9343ecf5a6564eb09f1d7078c407db2ff7d9e (diff)
parent2a6565c6432c682c2798e75d48adc587da661822 (diff)
downloadnumpy-f6c4dacc3b8f6dda3920a5ae6ebe48758a47e00d.tar.gz
Merge pull request #10775 from mdboom/return-errors-from-init
BUG: Return NULL from PyInit_* when exception is raised
Diffstat (limited to 'numpy/linalg')
-rw-r--r--numpy/linalg/lapack_litemodule.c8
-rw-r--r--numpy/linalg/umath_linalg.c.src9
2 files changed, 9 insertions, 8 deletions
diff --git a/numpy/linalg/lapack_litemodule.c b/numpy/linalg/lapack_litemodule.c
index bdde2e22d..696a6d874 100644
--- a/numpy/linalg/lapack_litemodule.c
+++ b/numpy/linalg/lapack_litemodule.c
@@ -331,10 +331,10 @@ static struct PyModuleDef moduledef = {
/* Initialization function for the module */
#if PY_MAJOR_VERSION >= 3
-#define RETVAL m
+#define RETVAL(x) x
PyMODINIT_FUNC PyInit_lapack_lite(void)
#else
-#define RETVAL
+#define RETVAL(x)
PyMODINIT_FUNC
initlapack_lite(void)
#endif
@@ -347,12 +347,12 @@ initlapack_lite(void)
"", (PyObject*)NULL,PYTHON_API_VERSION);
#endif
if (m == NULL) {
- return RETVAL;
+ return RETVAL(NULL);
}
import_array();
d = PyModule_GetDict(m);
LapackError = PyErr_NewException("lapack_lite.LapackError", NULL, NULL);
PyDict_SetItemString(d, "LapackError", LapackError);
- return RETVAL;
+ return RETVAL(m);
}
diff --git a/numpy/linalg/umath_linalg.c.src b/numpy/linalg/umath_linalg.c.src
index d8cfdf6ac..c43a4a48e 100644
--- a/numpy/linalg/umath_linalg.c.src
+++ b/numpy/linalg/umath_linalg.c.src
@@ -3659,10 +3659,10 @@ static struct PyModuleDef moduledef = {
#endif
#if defined(NPY_PY3K)
-#define RETVAL m
+#define RETVAL(x) x
PyObject *PyInit__umath_linalg(void)
#else
-#define RETVAL
+#define RETVAL(x)
PyMODINIT_FUNC
init_umath_linalg(void)
#endif
@@ -3678,7 +3678,7 @@ init_umath_linalg(void)
m = Py_InitModule(UMATH_LINALG_MODULE_NAME, UMath_LinAlgMethods);
#endif
if (m == NULL) {
- return RETVAL;
+ return RETVAL(NULL);
}
import_array();
@@ -3696,7 +3696,8 @@ init_umath_linalg(void)
if (PyErr_Occurred()) {
PyErr_SetString(PyExc_RuntimeError,
"cannot load _umath_linalg module.");
+ return RETVAL(NULL);
}
- return RETVAL;
+ return RETVAL(m);
}