summaryrefslogtreecommitdiff
path: root/numpy/linalg/lapack_lite
diff options
context:
space:
mode:
authorHood Chatham <roberthoodchatham@gmail.com>2022-03-31 17:24:13 -0700
committerHood Chatham <roberthoodchatham@gmail.com>2022-06-17 08:33:54 -0700
commit1bc1bee03147e08e7653cc3e3fc9deac88ce431a (patch)
treeac7dd662f569cfb9fc983707133115029eb8d975 /numpy/linalg/lapack_lite
parent7d21a8d2b0b2437e258fc6486e95964240c33f40 (diff)
downloadnumpy-1bc1bee03147e08e7653cc3e3fc9deac88ce431a.tar.gz
ENH: Change f2c declarations with void return type to int
When using f2c, the generated C functions for all of these actually return int. WebAssembly is strict on return types and will crash due to the discrepancy.
Diffstat (limited to 'numpy/linalg/lapack_lite')
-rw-r--r--numpy/linalg/lapack_lite/f2c.c13
-rw-r--r--numpy/linalg/lapack_lite/f2c.h10
2 files changed, 12 insertions, 11 deletions
diff --git a/numpy/linalg/lapack_lite/f2c.c b/numpy/linalg/lapack_lite/f2c.c
index 9a1e9cec1..f1d3fdfbe 100644
--- a/numpy/linalg/lapack_lite/f2c.c
+++ b/numpy/linalg/lapack_lite/f2c.c
@@ -14,9 +14,9 @@
#include "f2c.h"
-extern void s_wsfe(cilist *f) {;}
-extern void e_wsfe(void) {;}
-extern void do_fio(integer *c, char *s, ftnlen l) {;}
+extern int s_wsfe(cilist *f) {return 0;}
+extern int e_wsfe(void) {return 0;}
+extern int do_fio(integer *c, char *s, ftnlen l) {return 0;}
/* You'll want this if you redo the f2c_*.c files with the -C option
* to f2c for checking array subscripts. (It's not suggested you do that
@@ -377,7 +377,7 @@ p->i = p1.i;
#endif /* NO_OVERWRITE */
- VOID
+ int
#ifdef KR_headers
s_cat(lp, rpp, rnp, np, ll) char *lp, *rpp[]; ftnlen rnp[], *np, ll;
#else
@@ -485,9 +485,9 @@ return(0);
/* assign strings: a = b */
#ifdef KR_headers
-VOID s_copy(a, b, la, lb) register char *a, *b; ftnlen la, lb;
+int s_copy(a, b, la, lb) register char *a, *b; ftnlen la, lb;
#else
-void s_copy(register char *a, register char *b, ftnlen la, ftnlen lb)
+int s_copy(register char *a, register char *b, ftnlen la, ftnlen lb)
#endif
{
register char *aend, *bend;
@@ -524,6 +524,7 @@ void s_copy(register char *a, register char *b, ftnlen la, ftnlen lb)
while(a < aend)
*a++ = ' ';
}
+ return 0;
}
diff --git a/numpy/linalg/lapack_lite/f2c.h b/numpy/linalg/lapack_lite/f2c.h
index d3fbfc177..b44aaac44 100644
--- a/numpy/linalg/lapack_lite/f2c.h
+++ b/numpy/linalg/lapack_lite/f2c.h
@@ -263,7 +263,7 @@ extern double d_tan(double *);
extern double d_tanh(double *);
extern double derf_(double *);
extern double derfc_(double *);
-extern void do_fio(ftnint *, char *, ftnlen);
+extern int do_fio(ftnint *, char *, ftnlen);
extern integer do_lio(ftnint *, ftnint *, char *, ftnlen);
extern integer do_uio(ftnint *, char *, ftnlen);
extern integer e_rdfe(void);
@@ -275,7 +275,7 @@ extern integer e_rsli(void);
extern integer e_rsue(void);
extern integer e_wdfe(void);
extern integer e_wdue(void);
-extern void e_wsfe(void);
+extern int e_wsfe(void);
extern integer e_wsfi(void);
extern integer e_wsle(void);
extern integer e_wsli(void);
@@ -350,9 +350,9 @@ extern double r_sinh(float *);
extern double r_sqrt(float *);
extern double r_tan(float *);
extern double r_tanh(float *);
-extern void s_cat(char *, char **, integer *, integer *, ftnlen);
+extern int s_cat(char *, char **, integer *, integer *, ftnlen);
extern integer s_cmp(char *, char *, ftnlen, ftnlen);
-extern void s_copy(char *, char *, ftnlen, ftnlen);
+extern int s_copy(char *, char *, ftnlen, ftnlen);
extern int s_paus(char *, ftnlen);
extern integer s_rdfe(cilist *);
extern integer s_rdue(cilist *);
@@ -367,7 +367,7 @@ extern integer s_rsue(cilist *);
extern int s_stop(char *, ftnlen);
extern integer s_wdfe(cilist *);
extern integer s_wdue(cilist *);
-extern void s_wsfe( cilist *);
+extern int s_wsfe( cilist *);
extern integer s_wsfi(icilist *);
extern integer s_wsle(cilist *);
extern integer s_wsli(icilist *);