From 7f99c5d0843ab56e0a4c13e8b1d56b549a6f5c72 Mon Sep 17 00:00:00 2001
From: rtoy <rtoy>
Date: Mon, 29 Mar 2004 16:33:46 +0000
Subject: [PATCH] Disable erroneous translation for the instance-set VOP.  The
 VOP doesn't return any values, but instance-set is supposed to.  This shows
 up in some PCL code that expects the instance-set to do the correct thing,
 but the VOP returns NIL.

---
 compiler/sparc/cell.lisp | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/compiler/sparc/cell.lisp b/compiler/sparc/cell.lisp
index 8b77685cf..66524cb71 100644
--- a/compiler/sparc/cell.lisp
+++ b/compiler/sparc/cell.lisp
@@ -5,7 +5,7 @@
 ;;; Carnegie Mellon University, and has been placed in the public domain.
 ;;;
 (ext:file-comment
-  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/sparc/cell.lisp,v 1.22 2003/10/20 01:25:01 toy Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/sparc/cell.lisp,v 1.23 2004/03/29 16:33:46 rtoy Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -273,7 +273,13 @@
 
 (define-vop (instance-set slot-set)
   (:policy :fast-safe)
-  (:translate %instance-set)
+  ;; This is an invalid translation because %instance-set needs a
+  ;; return value, and this VOP doesn't return anything.  I (RLT)
+  ;; don't know how to fix this so that this VOP returns a value and
+  ;; still works correctly when it is called directly by the compiler.
+  ;; However, disabling the translation works around the bug.
+  
+  ;;(:translate %instance-set)
   (:variant instance-slots-offset instance-pointer-type)
   (:arg-types instance (:constant index) *))
 
-- 
GitLab