\f
(defvar *parse-vop-operand-count*)
(defun make-operand-parse-temp ()
- ;; FIXME: potentially causes breakage in contribs from locked
- ;; packages.
- (intern (format nil "OPERAND-PARSE-TEMP-~D" *parse-vop-operand-count*)
- (symbol-package '*parse-vop-operand-count*)))
+ (without-package-locks
+ (intern (format nil "OPERAND-PARSE-TEMP-~D" *parse-vop-operand-count*)
+ (symbol-package '*parse-vop-operand-count*))))
(defun make-operand-parse-load-tn ()
- (intern (format nil "OPERAND-PARSE-LOAD-TN-~D" *parse-vop-operand-count*)
- (symbol-package '*parse-vop-operand-count*)))
+ (without-package-locks
+ (intern (format nil "OPERAND-PARSE-LOAD-TN-~D" *parse-vop-operand-count*)
+ (symbol-package '*parse-vop-operand-count*))))
;;; Given a list of operand specifications as given to DEFINE-VOP,
;;; return a list of OPERAND-PARSE structures describing the fixed
;;; beginning with T specifies a default. If it appears, it must be
;;; last. If no default is specified, and no clause matches, then an
;;; error is signalled.
-(def!macro sc-case (tn &rest forms)
+(def!macro sc-case (tn &body forms)
(let ((n-sc (gensym))
(n-tn (gensym)))
(collect ((clauses))