<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Thu, Jun 5, 2014 at 2:21 AM, Richard Smith <span dir="ltr"><<a href="mailto:richard@metafoo.co.uk" target="_blank">richard@metafoo.co.uk</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">
<div class="">On Wed, Jun 4, 2014 at 3:27 PM, Joerg Sonnenberger <span dir="ltr"><<a href="mailto:joerg@britannica.bec.de" target="_blank">joerg@britannica.bec.de</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div>On Wed, Jun 04, 2014 at 02:51:49AM +0200, Nico Weber wrote:<br>


> 21.5p4 and 21.5p11 say that std::stof() and std::stod() are both supposed<br>
> to call strtod() (for char*) or wcstod() (for wchar_t*). libc++ currently<br>
> calls strtof() / wcstof() from std::stof(), so the attached patch fixes<br>
> this.<br>
<br>
</div>This looks like a bug in the standard.<br></blockquote><div><br></div></div><div>It is:</div><div><br></div><div><a href="http://lwg.github.io/issues/lwg-active.html#2009" target="_blank">http://lwg.github.io/issues/lwg-active.html#2009</a></div>
</div></div></div></blockquote></div><br></div><div class="gmail_extra">Cool, thanks. I hope that proposed resolution gets a slightly more detailed text. Similar wording in the C standard apparently implies something along the lines of "`1.e60` is a valid IEEE 754 spelling of INFINITY, and INFINITY is a representable value" ( <a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/dr_025.html">http://www.open-std.org/jtc1/sc22/wg14/www/docs/dr_025.html</a> ) (which as far as I understand is the interpretation that e.g. musl is using, so their strtof doesn't set ERANGE on this input.)</div>
<div class="gmail_extra"><br></div><div class="gmail_extra">Nico</div></div>