[Top][All Lists]
[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.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gcl-devel] notinline functions lose secondary values,
Faré <=