Fix warnings

This change fixes Cosmopolitan so it has fewer opinions about compiler
warnings. The whole repository had to be cleaned up to be buildable in
-Werror -Wall mode. This lets us benefit from things like strict const
checking. Some actual bugs might have been caught too.
This commit is contained in:
Justine Tunney 2023-09-01 20:49:13 -07:00
parent e2b3c3618e
commit 0d748ad58e
No known key found for this signature in database
GPG key ID: BE714B4575D6E328
571 changed files with 1306 additions and 1888 deletions

View file

@ -16,6 +16,7 @@
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
*/
#include "tool/viz/lib/bilinearscale.h"
#include "dsp/core/twixt8.h"
#include "libc/intrin/bsr.h"
#include "libc/log/check.h"
@ -29,7 +30,6 @@
#include "libc/testlib/testlib.h"
#include "libc/tinymath/emod.h"
#include "libc/x/x.h"
#include "tool/viz/lib/bilinearscale.h"
static void ComputeScalingSolution(long dn, long sn, double r, double o,
unsigned char pct[dn + 1], int idx[dn + 1]) {
@ -52,7 +52,7 @@ static void BilinearScaler(long dcw, long dyw, long dxw,
int iy[dyn + 1], unsigned char py[dyn + 1],
int ix[dxn + 1], unsigned char px[dxn + 1],
unsigned char db[dxn], unsigned char sb[2][sxn]) {
long c, y, x, b;
long c, y, x;
ComputeScalingSolution(dxn, sxn, rx, ox, px, ix);
ComputeScalingSolution(dyn, syn, ry, oy, py, iy);
for (c = c0; c < cn; ++c) {

View file

@ -90,15 +90,14 @@ static void SerpentineDither(long yw, long xw, unsigned char rgb[3][yw][xw],
long yn, long xn, long y, long x, long r,
const struct Dither *d) {
void *c;
long b, e, i, j, n, m;
e = 0;
long b, i, j, n, m;
b = d->chunks[r].b;
c = d->chunks[r].c;
n = (yn - y) / b;
m = (xn - x) / b;
for (i = 0; i < n; ++i) {
for (j = 0; j < m; ++j) {
e = SerpentineDitherSq2(yw, xw, rgb, y + i * b, x + j * b, b, c, 0);
SerpentineDitherSq2(yw, xw, rgb, y + i * b, x + j * b, b, c, 0);
}
}
if (r) {

View file

@ -20,8 +20,8 @@
#include "libc/fmt/conv.h"
#include "libc/log/check.h"
#include "libc/math.h"
#include "libc/mem/mem.h"
#include "libc/mem/gc.internal.h"
#include "libc/mem/mem.h"
#include "libc/x/x.h"
#include "third_party/gdtoa/gdtoa.h"
#include "tool/viz/lib/formatstringtable.h"
@ -30,14 +30,13 @@
void *ConvertMatrixToStringTable(long yn, long xn, char *T[yn][xn],
const double M[yn][xn], double digs,
double rounder(double)) {
double f;
long y, x;
assert(yn && xn && !T[0][0]);
for (y = 0; y < yn; ++y) {
for (x = 0; x < xn; ++x) {
T[y][x] = xmalloc(40);
T[y][x][0] = '\0';
g_dfmt_p(T[y][x], &M[y][x], digs, 40, 0);
g_dfmt_p(T[y][x], (void *)&M[y][x], digs, 40, 0);
}
}
return T;

View file

@ -237,7 +237,7 @@ void YCbCr2Rgb(long yn, long xn, unsigned char RGB[restrict 3][yn][xn],
const unsigned char Cr[restrict cys][cxs], const int K[8][4],
const int L[6][4], const unsigned char T[256]) {
long i, j;
short y, u, v, r, g, b, A, B, C;
short y, u, v, r, g, b;
for (i = 0; i < yn; ++i) {
for (j = 0; j < xn; ++j) {
y = T[Y[i][j]];
@ -280,8 +280,8 @@ void YCbCr2RgbScaler(struct YCbCr *me, long dyn, long dxn,
long cyn, long cxn, double syn, double sxn, double pry,
double prx) {
long double ts;
long y, x, scyn, scxn;
double yry, yrx, cry, crx, yoy, yox, coy, cox, err, oy;
long scyn, scxn;
double yry, yrx, cry, crx, yoy, yox, coy, cox;
scyn = syn * cyn / yyn;
scxn = sxn * cxn / yxn;
if (HALF(yxn) > dxn && HALF(scxn) > dxn) {