From e231d364711943779f3dc6180a8fc9addc26449b Mon Sep 17 00:00:00 2001 From: dzaima Date: Wed, 25 Jan 2023 17:16:24 +0200 Subject: [PATCH] clean up gcc warnings --- src/builtins/md2.c | 8 ++++---- src/builtins/sfns.c | 5 +++-- src/builtins/slash.c | 2 +- src/ffi.c | 4 ++-- src/utils/each.c | 2 +- 5 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/builtins/md2.c b/src/builtins/md2.c index d80572f7..15da75a2 100644 --- a/src/builtins/md2.c +++ b/src/builtins/md2.c @@ -377,7 +377,7 @@ B rank_c2(Md2D* d, B w, B x) { B f = d->f; B g = d->g; usz cam = shProd(xsh, 0, k); if (cam == 0) return rank2_empty(f, w, 0, x, k); usz csz = shProd(xsh, k, xr); - ShArr* csh; + ShArr* csh ONLY_GCC(=0); if (xc>1) { csh=m_shArr(xc); shcpy(csh->a, xsh+k, xc); } BSS2A slice = TI(x,slice); @@ -403,7 +403,7 @@ B rank_c2(Md2D* d, B w, B x) { B f = d->f; B g = d->g; usz cam = shProd(wsh, 0, k); if (cam == 0) return rank2_empty(f, w, k, x, 0); usz csz = shProd(wsh, k, wr); - ShArr* csh; + ShArr* csh ONLY_GCC(=0); if (wc>1) { csh=m_shArr(wc); shcpy(csh->a, wsh+k, wc); } BSS2A slice = TI(w,slice); @@ -439,8 +439,8 @@ B rank_c2(Md2D* d, B w, B x) { B f = d->f; B g = d->g; usz wsz = shProd(wsh, wk, wr); usz xsz = shProd(xsh, xk, xr); - ShArr* wcs; if (wc>1) { wcs=m_shArr(wc); shcpy(wcs->a, wsh+wk, wc); } - ShArr* xcs; if (xc>1) { xcs=m_shArr(xc); shcpy(xcs->a, xsh+xk, xc); } + ShArr* wcs ONLY_GCC(=0); if (wc>1) { wcs=m_shArr(wc); shcpy(wcs->a, wsh+wk, wc); } + ShArr* xcs ONLY_GCC(=0); if (xc>1) { xcs=m_shArr(xc); shcpy(xcs->a, xsh+xk, xc); } BSS2A wslice = TI(w,slice); BSS2A xslice = TI(x,slice); diff --git a/src/builtins/sfns.c b/src/builtins/sfns.c index d6b3ec86..dec1b2f1 100644 --- a/src/builtins/sfns.c +++ b/src/builtins/sfns.c @@ -173,7 +173,7 @@ B shape_c2(B t, B w, B x) { } else { SGetU(w) i32 unkPos = -1; - i32 unkInd ONLY_GCC(= 0); + i32 unkInd ONLY_GCC(=0); bool bad=false, good=false; for (i32 i = 0; i < nr; i++) { B c = GetU(w, i); @@ -546,6 +546,7 @@ NOINLINE B takedrop_highrank(bool take, B w, B x) { usz ri=0, xi=0; // index of first copy usz xSkip, rSkip; // amount to skip forward by usz cellWrite = 0; // batch write cell size + ONLY_GCC(xSkip=rSkip=USZ_MAX/2;) for (usz i=rr; i-->0; ) { usz xshc = ia[i]; @@ -625,7 +626,7 @@ NOINLINE B takedrop_highrank(bool take, B w, B x) { i64 wv = o2i64(w); \ i64 n = wv; \ ur xr = RNK(x); \ - usz csz=1; usz* xsh; \ + usz csz=1; usz* xsh ONLY_GCC(=0); \ if (xr>1) { \ csz = arr_csz(x); \ xsh = SH(x); \ diff --git a/src/builtins/slash.c b/src/builtins/slash.c index 90bcb768..12e6574f 100644 --- a/src/builtins/slash.c +++ b/src/builtins/slash.c @@ -631,7 +631,7 @@ B slash_c1(B t, B x) { B slash_c2(B t, B w, B x) { i32 wv = -1; - usz wia ONLY_GCC(= 0); + usz wia ONLY_GCC(=0); if (isArr(w)) { if (depth(w)>1) goto base; ur wr = RNK(w); diff --git a/src/ffi.c b/src/ffi.c index 1359a2e1..8bf08e5d 100644 --- a/src/ffi.c +++ b/src/ffi.c @@ -939,9 +939,9 @@ void ffi_init() { switch (id) { default: err("bad id"); case 0: { char* s = toCStr(x); - chdir(s); + i32 r = chdir(s); freeCStr(s); - return x; + return m_f64(r); } case 1: { dec(x); diff --git a/src/utils/each.c b/src/utils/each.c index 6be847a8..177b2154 100644 --- a/src/utils/each.c +++ b/src/utils/each.c @@ -96,7 +96,7 @@ B eachm_fn(B fo, B x, BB2B f) { void* xp = tyany_ptr(x); switch(TI(x,elType)) { default: UD; case el_B: { SGet(x); - for (; i