<div dir="ltr">Consider the following small test application:<div><br></div><div><pre class="" style="font-size:13px;margin-top:0px;margin-bottom:1em;padding:5px;border:0px;width:auto;max-height:600px;overflow:auto;font-family:Consolas,Menlo,Monaco,"Lucida Console","Liberation Mono","DejaVu Sans Mono","Bitstream Vera Sans Mono","Courier New",monospace,sans-serif;color:rgb(57,51,24);word-wrap:normal;background-color:rgb(239,240,241)"><code style="margin:0px;padding:0px;border:0px;font-family:Consolas,Menlo,Monaco,"Lucida Console","Liberation Mono","DejaVu Sans Mono","Bitstream Vera Sans Mono","Courier New",monospace,sans-serif;white-space:inherit"><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(133,140,147)">#include</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> </span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(125,39,39)"><iostream></span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">
</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(133,140,147)">#include</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> </span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(125,39,39)"><cmath></span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">
</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(133,140,147)">#include</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> </span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(125,39,39)"><math.h></span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">
</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(43,145,175)">int</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> main</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">()</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">
</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">{</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">
</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(16,16,148)">double</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> d </span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">=</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> NAN</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">;</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">
std</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">::</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">cout </span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"><<</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> std</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">::</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">isnan</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">(</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">d</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">)</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> </span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"><<</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> </span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(125,39,39)">'\n'</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">;</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">
std</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">::</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">cout </span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"><<</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> isnan</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">(</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">d</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">)</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> </span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"><<</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> </span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(125,39,39)">'\n'</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">;</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">
</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(16,16,148)">return</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> </span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(125,39,39)">0</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">;</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">
</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">}</span></code></pre></div><div>Compiling on Ubuntu 16.04 with g++-5.4.0 using C++11 standard fails:</div><div><br></div><div><pre class="" style="margin-top:0px;margin-bottom:0px;padding:5px;border:0px;font-size:13px;width:auto;max-height:600px;overflow:auto;font-family:Consolas,Menlo,Monaco,"Lucida Console","Liberation Mono","DejaVu Sans Mono","Bitstream Vera Sans Mono","Courier New",monospace,sans-serif;color:rgb(57,51,24);word-wrap:normal;background-color:rgb(239,240,241)"><code style="margin:0px;padding:0px;border:0px;font-family:Consolas,Menlo,Monaco,"Lucida Console","Liberation Mono","DejaVu Sans Mono","Bitstream Vera Sans Mono","Courier New",monospace,sans-serif;white-space:inherit"><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">$ g</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">++</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> </span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">-</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">std</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">=</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">c</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">++</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(125,39,39)">11</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> main</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">.</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">cpp
main</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">.</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">cpp</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">:</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> </span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(43,145,175)">In</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> function </span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">‘</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(43,145,175)">int</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> main</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">()’:</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">
main</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">.</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">cpp</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">:</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(125,39,39)">10</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">:</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(125,39,39)">25</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">:</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> error</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">:</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> </span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">‘</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">isnan</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">’</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> was not declared in </span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(16,16,148)">this</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> scope
std</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">::</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">cout </span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"><<</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> isnan</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">(</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">d</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">)</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> </span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"><<</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> </span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(125,39,39)">'\n'</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">;</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">
</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">^</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">
main</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">.</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">cpp</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">:</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(125,39,39)">10</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">:</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(125,39,39)">25</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">:</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> note</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">:</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> suggested alternative</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">:</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">
</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(43,145,175)">In</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> file included from main</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">.</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">cpp</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">:</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(125,39,39)">3</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">:</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(125,39,39)">0</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">:</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">
</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">/</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">usr</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">/</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">include</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">/</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">c</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">++/</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(125,39,39)">5</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">/</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">cmath</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">:</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(125,39,39)">641</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">:</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(125,39,39)">5</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">:</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> note</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">:</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> </span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">‘</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">std</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">::</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">isnan</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">’</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">
isnan</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">(</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(43,145,175)">_Tp</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> __x</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">)</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">
</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">^</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">
</span></code></pre></div><div><code style="margin:0px;padding:0px;border:0px;font-family:Consolas,Menlo,Monaco,"Lucida Console","Liberation Mono","DejaVu Sans Mono","Bitstream Vera Sans Mono","Courier New",monospace,sans-serif;white-space:inherit"><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"><br></span></code></div><div><code style="margin:0px;padding:0px;border:0px;font-family:Consolas,Menlo,Monaco,"Lucida Console","Liberation Mono","DejaVu Sans Mono","Bitstream Vera Sans Mono","Courier New",monospace,sans-serif;white-space:inherit"><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"><span style="color:rgb(36,39,41);font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:13px;line-height:16.9px">I've compiled this on Centos gcc-4.9.1 and gcc-5.2.1 and it works on both. </span></span></code></div><div><code style="margin:0px;padding:0px;border:0px;font-family:Consolas,Menlo,Monaco,"Lucida Console","Liberation Mono","DejaVu Sans Mono","Bitstream Vera Sans Mono","Courier New",monospace,sans-serif;white-space:inherit"><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"><span style="color:rgb(36,39,41);font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:13px;line-height:16.9px">I've compiled this</span><span style="color:rgb(36,39,41);font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:13px;line-height:16.9px"> on Ubuntu gcc-4.9.3 and that too works.</span></span></code></div><div><code style="margin:0px;padding:0px;border:0px;font-family:Consolas,Menlo,Monaco,"Lucida Console","Liberation Mono","DejaVu Sans Mono","Bitstream Vera Sans Mono","Courier New",monospace,sans-serif;white-space:inherit"><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"><span style="color:rgb(36,39,41);font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:13px;line-height:16.9px">However, compiling on Ununtu </span></span></code><span style="color:rgb(36,39,41);font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:13px;line-height:16.9px;white-space:inherit">gcc-5.4.0 doesn't.</span></div><div><span style="color:rgb(36,39,41);font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:13px;line-height:16.9px;white-space:inherit"><br></span></div><div><span style="color:rgb(36,39,41);font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:13px;line-height:16.9px;white-space:inherit">I've also tried several online compilers, with mixed results.</span></div><div><span style="color:rgb(36,39,41);font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:13px;line-height:16.9px;white-space:inherit"><br></span></div><div><div><a href="http://melpon.org/wandbox/">Wandbox</a> has gcc-6.3.0, gcc-5.2.0, gcc-5.1.0 and they all compiled fine.<br></div><div><a href="http://gcc.godbolt.org/#">Godbolt</a> broke for gcc-4.9.2 through gcc-5.3, but then works on 6.1.</div></div><div><br></div><div>Given it works for gcc-5.2.0 on Wandbox and breaks for gcc-5-2.0 on Godbolt makes me thing one must be using a patched standard library.</div><div><br></div><div>Not sure how to report this bug?</div></div>