X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fir1opt.lisp;h=f65cc3aa1acd28d6a240f1f1a6148b526c28c929;hb=ed3bd9c7d61a3c1bf8ad81d82a671359117bd235;hp=8b25671440e21cf831673b14988e4215163c663d;hpb=efb7317381c54e1a28f6c1c179a4fb8d58fdc7eb;p=sbcl.git diff --git a/src/compiler/ir1opt.lisp b/src/compiler/ir1opt.lisp index 8b25671..f65cc3a 100644 --- a/src/compiler/ir1opt.lisp +++ b/src/compiler/ir1opt.lisp @@ -1720,6 +1720,7 @@ (unless (continuation-single-value-p (node-cont node)) (give-up-ir1-transform)) (setf (node-derived-type node) *wild-type*) + (principal-continuation-single-valuify (node-cont node)) (if vals (let ((dummies (make-gensym-list (length (cdr vals))))) `(lambda (val ,@dummies) @@ -1747,7 +1748,7 @@ value ;; FIXME: Derived type. `(%compile-time-type-error 'dummy - ',(type-specifier (coerce-to-values atype)) + ',(type-specifier atype) ',(type-specifier value-type))) ;; KLUDGE: FILTER-CONTINUATION does not work for ;; non-returning functions, so we declare the return type of