diff --git a/compiler/codegen.lisp b/compiler/codegen.lisp index be17e9d3f7c19085d382cc7fe586a7f7a62521ea..6e91a947399c980cd47539313b6b7749d2066f6a 100644 --- a/compiler/codegen.lisp +++ b/compiler/codegen.lisp @@ -7,7 +7,7 @@ ;;; Scott Fahlman or slisp-group@cs.cmu.edu. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/codegen.lisp,v 1.16 1992/05/18 17:55:27 wlott Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/codegen.lisp,v 1.17 1992/05/21 22:46:56 wlott Exp $") ;;; ;;; ********************************************************************** ;;; @@ -272,11 +272,15 @@ (assem:assemble (*elsewhere* nil) (assem:emit-label label)))) -(defun label-elsewhere-p (label) +(defun label-elsewhere-p (label-or-posn) (<= (label-position (if (backend-featurep :new-assembler) *elsewhere-label* *elsewhere*)) - (label-position label))) + (etypecase label-or-posn + (label + (label-position label-or-posn)) + (index + label-or-posn)))) (defun trace-table-entry (state) (let ((label (gen-label)))