From cmucl-devel at common-lisp.net Wed May 6 14:12:02 2009 From: cmucl-devel at common-lisp.net (cmucl) Date: Wed, 06 May 2009 14:12:02 -0000 Subject: [cmucl-ticket] [cmucl] #32: Type derivation bug for floor Message-ID: <052.d20f46391d99751cf5ba94466a39e9b2@common-lisp.net> #32: Type derivation bug for floor --------------------+------------------------------------------------------- Reporter: rtoy | Owner: somebody Type: defect | Status: new Priority: major | Milestone: Component: Core | Version: 19f Keywords: | --------------------+------------------------------------------------------- The following code generates lots of compiler notes. I don't think the compiler should generate any notes. The issue, I think, comes from the maybe-inline definition of FLOOR. The derived types for {{{q1}}}, {{{r1}}}, {{{q2}}}, and {{{r2}}} are also too general. If space > 0, then the derived types are the expected values {{{(VALUES (MOD 19) (MOD 588) (MOD 21) (MOD 28))}}} {{{ (defun bug (code) (declare (optimize (speed 3) (space 0)) (type (integer #xAC00 #xD7A3) code)) (multiple-value-bind (q1 r1) (floor (- code #xAC00) 588) (multiple-value-bind (q2 r2) (floor r1 28) (values q1 r1 q2 r2)))) }}} -- Ticket URL: cmucl cmucl