Thu Jul 2 23:51:50 CEST 2009 Tobias Rautenkranz * Promption real to double-float diff -rN -u old-smoke/src/overload-resolution.lisp new-smoke/src/overload-resolution.lisp --- old-smoke/src/overload-resolution.lisp 2014-10-30 08:13:33.000000000 +0100 +++ new-smoke/src/overload-resolution.lisp 2014-10-30 08:13:33.000000000 +0100 @@ -419,6 +419,10 @@ (defun coerce-enum (enum) (cxx-support:value enum)) +(defun coerce-double-float (number) + (float number 0d0)) + +;; FIXME incomplete (defun+using-type promotion object (object type) (declare (smoke-type type)) (case (type-id type) @@ -428,7 +432,9 @@ (6 (when (object.typep 'enum) (make-match 'promotion 'coerce-enum))) (7 (when (object.typep 'enum) - (make-match 'promotion 'coerce-enum))))) + (make-match 'promotion 'coerce-enum))) + (11 (when (object.typep 'real) + (make-match 'promotion 'coerce-double-float))))) (declaim (inline coerce-to-class)) (defun coerce-cast (object to-class)