IMHO `barf` should never reach this line:

  default: panic(C_text("illegal internal error code"));
>From 30b197e7675946181c67f493eae88b0f455f111d Mon Sep 17 00:00:00 2001
From: Jörg F. Wittenberger <joerg.wittenber...@softeyes.net>
Date: Sat, 13 Jun 2015 10:38:28 +0200
Subject: [PATCH] Add cases for unhandled error codes to `barf`.

---
 runtime.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/runtime.c b/runtime.c
index ff880fa..1d738a2 100644
--- a/runtime.c
+++ b/runtime.c
@@ -1753,6 +1753,21 @@ void barf(int code, char *loc, ...)
     c = 0;
     break;
 
+  case C_FLOATING_POINT_EXCEPTION_ERROR:
+    msg = C_text("floating point exception");
+    c = 0;
+    break;
+
+  case C_ILLEGAL_INSTRUCTION_ERROR:
+    msg = C_text("illegal instruction");
+    c = 0;
+    break;
+
+  case C_BUS_ERROR:
+    msg = C_text("bus error");
+    c = 0;
+    break;
+
   default: panic(C_text("illegal internal error code"));
   }
   
-- 
2.1.4

_______________________________________________
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-hackers

Reply via email to