<div dir="ltr"><div dir="ltr">+cfe-dev as the discussion is now biased toward C standard.<div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><tt><font size="2">I'm not sure what problem you see here.  In default mode, i.e.<br></font></tt><tt><font size="2">when there is no "#pragma STDC FENV_ACCESS on" in effect,<br></font></tt><tt><font size="2">then the compiler can always assume that the default rounding<br></font></tt><tt><font size="2">mode is in effect.</font></tt>  </blockquote><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Well, if #pragma STDC FENV_ACCESS on is not in effect, that means<br>that the user has promised that at this point during execution,<br>we will *always* have the default FP environment.<br></blockquote><div> </div><div>This is a strong statement (no pragma == default mode), we need to confirm it with proper references to the standard. If it is true and the code:</div><div><br></div></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div><div><div>float qqq(float x) {</div></div></div><div><div><div>  return nearbyint(x);</div></div></div><div><div><div>}</div></div></div></blockquote><div dir="ltr"><div><br></div><div>is really equivalent to:</div></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div><div><br></div></div><div><div><div>float qqq(float x) {</div></div></div><div><div><div>  return roundeven(x);</div></div></div><div><div><div>}</div></div></div></blockquote><div dir="ltr"><div><br></div><div>(in absence of 'pragma STD FENV_ACCESS), it is a fact that would be surprise for many user.</div><div><br clear="all"><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature">Thanks,<br>--Serge<br></div></div></div></div><br></div>