Files
ports/lang/mit-scheme/files/patch-microcode_interp.c
T
Dag-Erling Smørgrav d4b99bae02 lang/mit-scheme: Unbreak with llvm 20 and newer
PR:		295431
MFH:		2026Q2
Reviewed by:	olgeni
Differential Revision:	https://reviews.freebsd.org/D57191
2026-05-23 13:46:13 +02:00

21 lines
816 B
C

--- microcode/interp.c.orig 2022-09-07 06:01:33 UTC
+++ microcode/interp.c
@@ -455,7 +455,7 @@ Interpret (void)
{
long length = ((VECTOR_LENGTH (GET_EXP)) - 1);
Will_Push (length + 2 + CONTINUATION_SIZE);
- stack_pointer = (STACK_LOC (-length));
+ stack_pointer = (STACK_NEG (length));
STACK_PUSH (MAKE_OBJECT (TC_MANIFEST_NM_VECTOR, length));
/* The finger: last argument number */
Pushed ();
@@ -1156,7 +1156,7 @@ Interpret (void)
/* Frame consists of the return code followed by two objects.
The first object has already been popped into GET_EXP,
so just pop the second argument. */
- stack_pointer = (STACK_LOCATIVE_OFFSET (stack_pointer, 1));
+ stack_pointer = (STACK_LOCATIVE_ADD (stack_pointer, 1));
break;
case RC_EXECUTE_SEQUENCE_FINISH: