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

@ -154,7 +154,7 @@ double fma(double x, double y, double z)
if (d > 0) {
if (d < 64) {
zlo = nz.m<<d;
zhi = nz.m>>64-d;
zhi = nz.m>>(64-d);
} else {
zlo = 0;
zhi = nz.m;
@ -162,7 +162,7 @@ double fma(double x, double y, double z)
d -= 64;
if (d == 0) {
} else if (d < 64) {
rlo = rhi<<64-d | rlo>>d | !!(rlo<<64-d);
rlo = rhi<<(64-d) | rlo>>d | !!(rlo<<(64-d));
rhi = rhi>>d;
} else {
rlo = 1;
@ -175,7 +175,7 @@ double fma(double x, double y, double z)
if (d == 0) {
zlo = nz.m;
} else if (d < 64) {
zlo = nz.m>>d | !!(nz.m<<64-d);
zlo = nz.m>>d | !!(nz.m<<(64-d));
} else {
zlo = 1;
}
@ -207,7 +207,7 @@ double fma(double x, double y, double z)
e += 64;
d = a_clz_64(rhi)-1;
/* note: d > 0 */
rhi = rhi<<d | rlo>>64-d | !!(rlo<<d);
rhi = rhi<<d | rlo>>(64-d) | !!(rlo<<d);
} else if (rlo) {
d = a_clz_64(rlo)-1;
if (d < 0)
@ -258,7 +258,7 @@ double fma(double x, double y, double z)
} else {
/* only round once when scaled */
d = 10;
i = ( rhi>>d | !!(rhi<<64-d) ) << d;
i = ( rhi>>d | !!(rhi<<(64-d)) ) << d;
if (sign)
i = -i;
r = i;