<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>
GitLab
</title>



</head>
<body>
<style type="text/css">
img {
max-width: 100%; height: auto;
}
</style>
<div class="content">
<h3>
Raymond Toy pushed to branch master
at <a href="https://gitlab.common-lisp.net/cmucl/cmucl">cmucl / cmucl</a>
</h3>
<h4>
Commits:
</h4>
<ul>
<li>
<strong><a href="https://gitlab.common-lisp.net/cmucl/cmucl/commit/2482e5f062bec0a3d18ea658f1645ad18829ff2b">2482e5f0</a></strong>
<div>
<span>by Raymond Toy</span>
<i>at 2016-09-03T10:55:25-07:00</i>
</div>
<pre class="commit-message" style="margin: 0; white-space: pre-wrap">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.
</pre>
</li>
<li>
<strong><a href="https://gitlab.common-lisp.net/cmucl/cmucl/commit/6c86016d677e5a39fc3fe2ddc1c0d7d5f734a744">6c86016d</a></strong>
<div>
<span>by Raymond Toy</span>
<i>at 2016-09-03T10:59:29-07:00</i>
</div>
<pre class="commit-message" style="margin: 0; white-space: pre-wrap">Add comment.
</pre>
</li>
<li>
<strong><a href="https://gitlab.common-lisp.net/cmucl/cmucl/commit/a8934d1590ee605e2f4f02071a71a8887c2d036a">a8934d15</a></strong>
<div>
<span>by Raymond Toy</span>
<i>at 2016-09-03T18:01:25+00:00</i>
</div>
<pre class="commit-message" style="margin: 0; white-space: pre-wrap">Merge branch 'rtoy-28-fix-recursive-fcn-defn' into 'master'

Fix #28: Recursive function definition

Convert a `double-double` to a double before coercing to a `single-float` or `double-float`.

See merge request !9</pre>
</li>
</ul>
<h4>1 changed file:</h4>
<ul>
<li class="file-stats">
<a href="#diff-0" style="text-decoration: none">
src/code/float.lisp
</a>
</li>
</ul>
<h4>Changes:</h4>
<li id="diff-0">
<a href="https://gitlab.common-lisp.net/cmucl/cmucl/compare/5beb6431855908e9010c36bc9aeaa57b0daebcf3...a8934d1590ee605e2f4f02071a71a8887c2d036a#diff-0"><strong>src/code/float.lisp</strong></a>
<hr>
<table class="code white" style="-premailer-cellpadding: 0; -premailer-cellspacing: 0; -premailer-width: 100%; background: #fff; font-family: monospace; font-size: 13px" bgcolor="#fff" width="100%" cellpadding="0" cellspacing="0">
<tr class="line_holder match" style="line-height: 1.5">
<td class="diff-line-num unfold js-unfold old_line" data-linenumber="1047" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">...</td>
<td class="diff-line-num unfold js-unfold new_line" data-linenumber="1047" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">...</td>
<td class="line_content match " style="background: #fafafa; color: rgba(0,0,0,0.3); padding-left: 0.5em; padding-right: 0.5em" bgcolor="#fafafa">@@ -1047,9 +1047,15 @@</td>
</tr>
<tr class="line_holder" style="line-height: 1.5">
<td class="diff-line-num old_line" data-linenumber="1047" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
1047
</td>
<td class="diff-line-num new_line" data-linenumber="1047" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
1047
</td>
<td class="line_content noteable_line" style="padding-left: 0.5em; padding-right: 0.5em">
<pre style="margin: 0"> <span id="LC1047" class="line">               <span class="p">(</span><span class="nv" style="color: teal">number-dispatch</span> <span class="p">((</span><span class="nv" style="color: teal">x</span> <span class="nc" style="color: #458; font-weight: bold">real</span><span class="p">))</span></span>
</pre>
</td>
</tr>
<tr class="line_holder" style="line-height: 1.5">
<td class="diff-line-num old_line" data-linenumber="1048" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
1048
</td>
<td class="diff-line-num new_line" data-linenumber="1048" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
1048
</td>
<td class="line_content noteable_line" style="padding-left: 0.5em; padding-right: 0.5em">
<pre style="margin: 0"> <span id="LC1048" class="line">                 <span class="p">(((</span><span class="nv" style="color: teal">foreach</span> <span class="kt" style="color: #458; font-weight: bold">single-float</span> <span class="kt" style="color: #458; font-weight: bold">double-float</span></span>
</pre>
</td>
</tr>
<tr class="line_holder" style="line-height: 1.5">
<td class="diff-line-num old_line" data-linenumber="1049" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
1049
</td>
<td class="diff-line-num new_line" data-linenumber="1049" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
1049
</td>
<td class="line_content noteable_line" style="padding-left: 0.5em; padding-right: 0.5em">
<pre style="margin: 0"> <span id="LC1049" class="line">                            <span class="o" style="font-weight: bold">#+</span><span class="kt" style="color: #458; font-weight: bold">long-float</span> <span class="kt" style="color: #458; font-weight: bold">long-float</span></span>
</pre>
</td>
</tr>
<tr class="line_holder old" style="line-height: 1.5">
<td class="diff-line-num old old_line" data-linenumber="1050" style="background: #f9d7dc; border-right-color: #fac5cd; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#f9d7dc">
1050
</td>
<td class="diff-line-num new_line old" data-linenumber="1050" style="background: #f9d7dc; border-right-color: #fac5cd; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#f9d7dc">
 
</td>
<td class="line_content noteable_line old" style="background: #fbe9eb; padding-left: 0.5em; padding-right: 0.5em" bgcolor="#fbe9eb">
<pre style="margin: 0"> <span id="LC1050" class="line">                            <span class="o" style="font-weight: bold">#+</span><span class="nv" style="color: teal">double-double</span> <span class="nv" style="color: teal">double-double-float</span></span>
</pre>
</td>
</tr>
<tr class="line_holder" style="line-height: 1.5">
<td class="diff-line-num old_line" data-linenumber="1051" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
1051
</td>
<td class="diff-line-num new_line" data-linenumber="1050" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
1050
</td>
<td class="line_content noteable_line" style="padding-left: 0.5em; padding-right: 0.5em">
<pre style="margin: 0"> <span id="LC1050" class="line">                            <span class="kt" style="color: #458; font-weight: bold">fixnum</span><span class="p">))</span></span>
</pre>
</td>
</tr>
<tr class="line_holder" style="line-height: 1.5">
<td class="diff-line-num old_line" data-linenumber="1052" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
1052
</td>
<td class="diff-line-num new_line" data-linenumber="1051" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
1051
</td>
<td class="line_content noteable_line" style="padding-left: 0.5em; padding-right: 0.5em">
<pre style="margin: 0"> <span id="LC1051" class="line">                  <span class="p">(</span><span class="nb" style="color: #0086b3">coerce</span> <span class="nv" style="color: teal">x</span> <span class="ss" style="color: #990073">',type</span><span class="p">))</span></span>
</pre>
</td>
</tr>
<tr class="line_holder new" style="line-height: 1.5">
<td class="diff-line-num new old_line" data-linenumber="1053" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
 
</td>
<td class="diff-line-num new new_line" data-linenumber="1052" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
1052
</td>
<td class="line_content new noteable_line" style="background: #ecfdf0; padding-left: 0.5em; padding-right: 0.5em" bgcolor="#ecfdf0">
<pre style="margin: 0"> <span id="LC1052" class="line">                 <span class="o" style="font-weight: bold">#+</span><span class="nv" style="color: teal">double-double</span></span>
</pre>
</td>
</tr>
<tr class="line_holder new" style="line-height: 1.5">
<td class="diff-line-num new old_line" data-linenumber="1053" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
 
</td>
<td class="diff-line-num new new_line" data-linenumber="1053" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
1053
</td>
<td class="line_content new noteable_line" style="background: #ecfdf0; padding-left: 0.5em; padding-right: 0.5em" bgcolor="#ecfdf0">
<pre style="margin: 0"> <span id="LC1053" class="line">                 <span class="p">((</span><span class="nv" style="color: teal">double-double-float</span><span class="p">)</span></span>
</pre>
</td>
</tr>
<tr class="line_holder new" style="line-height: 1.5">
<td class="diff-line-num new old_line" data-linenumber="1053" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
 
</td>
<td class="diff-line-num new new_line" data-linenumber="1054" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
1054
</td>
<td class="line_content new noteable_line" style="background: #ecfdf0; padding-left: 0.5em; padding-right: 0.5em" bgcolor="#ecfdf0">
<pre style="margin: 0"> <span id="LC1054" class="line">                  <span class="c1" style="color: #998; font-style: italic">;; Convert the double-double to a double before</span></span>
</pre>
</td>
</tr>
<tr class="line_holder new" style="line-height: 1.5">
<td class="diff-line-num new old_line" data-linenumber="1053" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
 
</td>
<td class="diff-line-num new new_line" data-linenumber="1055" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
1055
</td>
<td class="line_content new noteable_line" style="background: #ecfdf0; padding-left: 0.5em; padding-right: 0.5em" bgcolor="#ecfdf0">
<pre style="margin: 0"> <span id="LC1055" class="line">                  <span class="c1" style="color: #998; font-style: italic">;; coercing to the appropriate type.</span></span>
</pre>
</td>
</tr>
<tr class="line_holder new" style="line-height: 1.5">
<td class="diff-line-num new old_line" data-linenumber="1053" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
 
</td>
<td class="diff-line-num new new_line" data-linenumber="1056" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
1056
</td>
<td class="line_content new noteable_line" style="background: #ecfdf0; padding-left: 0.5em; padding-right: 0.5em" bgcolor="#ecfdf0">
<pre style="margin: 0"> <span id="LC1056" class="line">                  <span class="p">(</span><span class="nb" style="color: #0086b3">coerce</span> <span class="p">(</span><span class="nb" style="color: #0086b3">+</span> <span class="p">(</span><span class="nv" style="color: teal">double-double-hi</span> <span class="nv" style="color: teal">x</span><span class="p">)</span></span>
</pre>
</td>
</tr>
<tr class="line_holder new" style="line-height: 1.5">
<td class="diff-line-num new old_line" data-linenumber="1053" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
 
</td>
<td class="diff-line-num new new_line" data-linenumber="1057" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
1057
</td>
<td class="line_content new noteable_line" style="background: #ecfdf0; padding-left: 0.5em; padding-right: 0.5em" bgcolor="#ecfdf0">
<pre style="margin: 0"> <span id="LC1057" class="line">                             <span class="p">(</span><span class="nv" style="color: teal">double-double-lo</span> <span class="nv" style="color: teal">x</span><span class="p">))</span></span>
</pre>
</td>
</tr>
<tr class="line_holder new" style="line-height: 1.5">
<td class="diff-line-num new old_line" data-linenumber="1053" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
 
</td>
<td class="diff-line-num new new_line" data-linenumber="1058" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
1058
</td>
<td class="line_content new noteable_line" style="background: #ecfdf0; padding-left: 0.5em; padding-right: 0.5em" bgcolor="#ecfdf0">
<pre style="margin: 0"> <span id="LC1058" class="line">                          <span class="ss" style="color: #990073">',type</span><span class="p">))</span></span>
</pre>
</td>
</tr>
<tr class="line_holder" style="line-height: 1.5">
<td class="diff-line-num old_line" data-linenumber="1053" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
1053
</td>
<td class="diff-line-num new_line" data-linenumber="1059" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
1059
</td>
<td class="line_content noteable_line" style="padding-left: 0.5em; padding-right: 0.5em">
<pre style="margin: 0"> <span id="LC1059" class="line">                 <span class="p">((</span><span class="kt" style="color: #458; font-weight: bold">bignum</span><span class="p">)</span></span>
</pre>
</td>
</tr>
<tr class="line_holder" style="line-height: 1.5">
<td class="diff-line-num old_line" data-linenumber="1054" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
1054
</td>
<td class="diff-line-num new_line" data-linenumber="1060" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
1060
</td>
<td class="line_content noteable_line" style="padding-left: 0.5em; padding-right: 0.5em">
<pre style="margin: 0"> <span id="LC1060" class="line">                  <span class="p">(</span><span class="nv" style="color: teal">bignum-to-float</span> <span class="nv" style="color: teal">x</span> <span class="ss" style="color: #990073">',type</span><span class="p">))</span></span>
</pre>
</td>
</tr>
<tr class="line_holder" style="line-height: 1.5">
<td class="diff-line-num old_line" data-linenumber="1055" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
1055
</td>
<td class="diff-line-num new_line" data-linenumber="1061" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
1061
</td>
<td class="line_content noteable_line" style="padding-left: 0.5em; padding-right: 0.5em">
<pre style="margin: 0"> <span id="LC1061" class="line">                 <span class="p">((</span><span class="nc" style="color: #458; font-weight: bold">ratio</span><span class="p">)</span></span>
</pre>
</td>
</tr>

</table>
<br>
</li>

</div>
<div class="footer" style="margin-top: 10px">
<p style="color: #777; font-size: small">

<br>
<a href="https://gitlab.common-lisp.net/cmucl/cmucl/compare/5beb6431855908e9010c36bc9aeaa57b0daebcf3...a8934d1590ee605e2f4f02071a71a8887c2d036a">View it on GitLab</a>.
<br>
You're receiving this email because of your account on gitlab.common-lisp.net.
If you'd like to receive fewer emails, you can
adjust your notification settings.

</p>
</div>
</body>
</html>