Skip to content
Snippets Groups Projects
Forked from cmucl / cmucl
Source project has a limited visibility.
  • Raymond Toy's avatar
    2482e5f0
    Fix #28: Recursive function definition in cross-compile · 2482e5f0
    Raymond Toy authored
    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.
    2482e5f0
    History
    Fix #28: Recursive function definition in cross-compile
    Raymond Toy authored
    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.