X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fvmdef.lisp;h=5501d1e2aa6de814b41d9942bbba8aa1262b35d2;hb=4aa0cca4568e48e15cb717ecd5993f0a020d42c5;hp=eef1e3027258684b569a4133867ddcb967a8fa61;hpb=d604a358d8e5eb5587989e0a4f1d31dbe6ac5ffe;p=sbcl.git diff --git a/src/compiler/vmdef.lisp b/src/compiler/vmdef.lisp index eef1e30..5501d1e 100644 --- a/src/compiler/vmdef.lisp +++ b/src/compiler/vmdef.lisp @@ -219,7 +219,7 @@ (let* ((args (convert (template-arg-types template) (template-more-args-type template))) (result-restr (template-result-types template)) - (results (if (eq result-restr :conditional) + (results (if (template-conditional-p template) '(boolean) (convert result-restr (cond ((template-more-results-type template)) @@ -229,3 +229,10 @@ ,(if (= (length results) 1) (first results) `(values ,@results)))))) + +#!-sb-fluid (declaim (inline template-conditional-p)) +(defun template-conditional-p (template) + (declare (type template template)) + (let ((rtypes (template-result-types template))) + (or (eq rtypes :conditional) + (eq (car rtypes) :conditional))))