shithub: sl

Download patch

ref: 5acf222abf7bd65e3ccfe19b30fedd361d92cd7c
parent: e8bd06e52d79697df2537addcb45849c88edacaa
author: Sigrid Solveig Haflínudóttir <sigrid@ftrv.se>
date: Thu Feb 27 16:04:03 EST 2025

fix plan 9 build

--- a/src/flisp.c
+++ b/src/flisp.c
@@ -860,7 +860,6 @@
 #define NEXT_OP goto *ops[*ip++]
 #define LABEL(x) x
 #define OP(x) op_##x:
-	NEXT_OP;
 #include "vm.inc"
 #undef OP
 #undef LABEL
@@ -867,8 +866,9 @@
 #undef NEXT_OP
 #pragma GCC diagnostic pop
 #else /* just a usual (portable) switch/case */
+	uint8_t op;
 	while(1){
-		switch(*ip++){
+		switch(op){
 #define NEXT_OP break
 #define LABEL(x) x
 #define OP(x) case x:
@@ -877,6 +877,7 @@
 #undef LABEL
 #undef NEXT_OP
 		}
+		op = *ip++;
 	}
 #endif
 }
--- a/src/vm.inc
+++ b/src/vm.inc
@@ -1,4 +1,3 @@
-
 #define fixnum_neg(x) ( \
 	i64 = -(int64_t)(numval(x)), \
 	i64 == INT64_MIN \