<div class="gmail_quote">On Mon, May 7, 2012 at 2:10 AM, Jacob Carlborg <span dir="ltr"><<a href="mailto:doob@me.com" target="_blank">doob@me.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div class="im">On 2012-05-07 08:03, Jonathan M Davis wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
The only place that I'm aware of where this policy has caused some problems is<br>
arithmetic and integral promotions. There a few cases where it would be nice<br>
to change the semantics for that, but for the most part, the C/C++ semantics<br>
are fine, and I'm sure that Walter considers whatever loss we get there to be<br>
worth the gain in making it so that C/C++ code ports to D without breaking<br>
silently.<br>
</blockquote>
<br></div>
I had some problems with floats being default initialized to NaN.<span class="HOEnZb"><font color="#888888"><br>
<br>
</font></span></blockquote></div><br><div>That's still correct behavior for C, actually. Using an uninitialized variable in C results in undefined behavior, so D still complies with C requirements when it initializes floats to NaN.</div>

<div>I'm guessing there's more to it than that, though, because code that uses uninitialized floats was probably wrong to begin with.</div>