Skip to content
Snippets Groups Projects
Commit 2482e5f0 authored by Raymond Toy's avatar Raymond Toy
Browse files

Fix #28: Recursive function definition in cross-compile

The recursive definition comes from %single-float and %double-float
trying to coerce a double-double-float to a single or double.  Not
sure the best place to fix this, but added a special case here for
%single-float and %double-float to convert the double-double-float to
a double that can then be coerced to the appropriate type.  (Could
have added a deftransform for coerce to handle double-doubles, but
doing it here makes it easier to follow the code.)

Verified that x86->x86 and sparc->sparc cross-compiles no longer have
the warning.  Also verified that sparc->sparc actually cross-compiles
and loads successfully and that the result will compile itself
successfully.
parent 774abc70
No related branches found
No related tags found
No related merge requests found
......@@ -1047,9 +1047,13 @@
(number-dispatch ((x real))
(((foreach single-float double-float
#+long-float long-float
#+double-double double-double-float
fixnum))
(coerce x ',type))
#+double-double
((double-double-float)
(coerce (+ (double-double-hi x)
(double-double-lo x))
',type))
((bignum)
(bignum-to-float x ',type))
((ratio)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment