summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arith.c3
-rw-r--r--lib.c1
2 files changed, 4 insertions, 0 deletions
diff --git a/arith.c b/arith.c
index c9c1bf3e..f0c7e168 100644
--- a/arith.c
+++ b/arith.c
@@ -174,6 +174,7 @@ ucnum c_unum(val num)
mp_get_uintptr(mp(num), &out);
return out;
}
+ /* fallthrough */
range:
uw_throwf(error_s, lit("~s given, non-negative expected"), num, nao);
default:
@@ -680,9 +681,11 @@ tail:
case TAG_PAIR(TAG_CHR, TAG_PTR):
if (type(bnum) == RNG)
return rcons(minus(anum, from(bnum)), minus(anum, to(bnum)));
+ break;
case TAG_PAIR(TAG_PTR, TAG_CHR):
if (type(anum) == RNG)
return rcons(minus(from(anum), bnum), minus(to(anum), bnum));
+ break;
}
uw_throwf(error_s, lit("-: invalid operands ~s ~s"), anum, bnum, nao);
}
diff --git a/lib.c b/lib.c
index 5061609c..c1329346 100644
--- a/lib.c
+++ b/lib.c
@@ -392,6 +392,7 @@ val car(val cons)
return funcall2(lambda_meth, cons, zero);
}
}
+ /* fallthrough */
default:
type_mismatch(lit("car: ~s is not a cons"), cons, nao);
}