From 5dd7646f587fe7f85509870d66b7082a93b19adc Mon Sep 17 00:00:00 2001 From: Alastair Bridgewater Date: Thu, 2 Sep 2010 00:34:13 +0000 Subject: [PATCH] 1.0.42.22: x86-64: Add test case for unboxed complex float arguments. * This has been broken since 1.0.27.14. --- tests/compiler.pure.lisp | 13 +++++++++++++ version.lisp-expr | 2 +- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/tests/compiler.pure.lisp b/tests/compiler.pure.lisp index 8be6ff1..118fce2 100644 --- a/tests/compiler.pure.lisp +++ b/tests/compiler.pure.lisp @@ -3518,3 +3518,16 @@ (declare (inline iterator+976)) (let ((iterator+976 #'iterator+976)) (funcall iterator+976)))))))) + +(with-test (:name :complex-float-local-fun-args :fails-on :x86-64) + ;; As of 1.0.27.14, the lambda below failed to compile due to the + ;; compiler attempting to pass unboxed complex floats to Z and the + ;; MOVE-ARG method not expecting the register being used as a + ;; temporary frame pointer. Reported by sykopomp in #lispgames, + ;; reduced test case provided by _3b`. + (compile nil '(lambda (a) + (labels ((z (b c) + (declare ((complex double-float) b c)) + (* b (z b c)))) + (loop for i below 10 do + (setf a (z a a))))))) diff --git a/version.lisp-expr b/version.lisp-expr index 9c49959..c403779 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -17,4 +17,4 @@ ;;; checkins which aren't released. (And occasionally for internal ;;; versions, especially for internal versions off the main CVS ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".) -"1.0.42.21" +"1.0.42.22" -- 1.7.10.4