gcl-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gcl-devel] notinline functions lose secondary values


From: Faré
Subject: [Gcl-devel] notinline functions lose secondary values
Date: Thu, 31 Mar 2011 17:11:25 +0000

Reduced test case. Using GCL 2.7.0 in ANSI mode.

(load (compile "bug.lisp"))

;;; bug.lisp contents follow:

(in-package :cl-user)

(defun bar (x)
  (values x x))
(declaim (notinline bar))
(defun foo (x)
  (multiple-value-bind (a b) (bar x)
    (list a b)))
(format t "~&~S~%" (foo 1)) ;==> (1 NIL) instead of (1 1)

(defun baz (x)
  (values x x))
(declaim (inline baz))
(defun quux (x)
  (multiple-value-bind (a b) (baz x)
    (list a b)))
(format t "~&~S~%" (quux 1)) ;==> (1 1) as expected

[ François-René ÐVB Rideau | Reflection&Cybernethics | http://fare.tunes.org ]
When you've seen one nuclear war, you've seen them all.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]