diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | arith.c | 6 |
2 files changed, 12 insertions, 0 deletions
@@ -1,5 +1,11 @@ 2014-07-29 Kaz Kylheku <kaz@kylheku.com> + * arith.c (plus, minus, mul): Fix missing breaks + to switch statements, leading to strange error + messages when wrong types are passed in. + +2014-07-29 Kaz Kylheku <kaz@kylheku.com> + * eval.c (eval_init): Register nconc as intrinsic. * lib.c (nconcv): New function. @@ -377,6 +377,7 @@ tail: default: break; } + break; case TAG_PAIR(TAG_CHR, TAG_NUM): { wchar_t a = c_chr(anum); @@ -452,6 +453,7 @@ tail: default: break; } + break; case TAG_PAIR(TAG_PTR, TAG_NUM): switch (type(anum)) { case BGNUM: @@ -481,6 +483,7 @@ tail: default: break; } + break; case TAG_PAIR(TAG_PTR, TAG_PTR): switch (TYPE_PAIR(type(anum), type(bnum))) { case TYPE_PAIR(BGNUM, BGNUM): @@ -501,6 +504,7 @@ tail: default: break; } + break; case TAG_PAIR(TAG_CHR, TAG_NUM): { wchar_t a = c_chr(anum); @@ -617,6 +621,7 @@ tail: default: break; } + break; case TAG_PAIR(TAG_PTR, TAG_NUM): switch (type(anum)) { case BGNUM: @@ -645,6 +650,7 @@ tail: default: break; } + break; case TAG_PAIR(TAG_PTR, TAG_PTR): switch (TYPE_PAIR(type(anum), type(bnum))) { case TYPE_PAIR(BGNUM, BGNUM): |