<div dir="ltr">
<div class="gmail-post-text">
<p>Hi all,<br></p><p>I have a simple program which I can successfully compile with clang, using MinGW's C/C++ Library:</p>
<pre class="gmail-lang-c gmail-prettyprint gmail-prettyprinted"><code><span class="gmail-com">#include</span><span class="gmail-pln"> </span><span class="gmail-str"><stdio.h></span><span class="gmail-pln">
</span><span class="gmail-typ">int</span><span class="gmail-pln"> main</span><span class="gmail-pun">(</span><span class="gmail-typ">int</span><span class="gmail-pln"> argc</span><span class="gmail-pun">,</span><span class="gmail-pln"> </span><span class="gmail-kwd">char</span><span class="gmail-pln"> </span><span class="gmail-pun">**</span><span class="gmail-pln">argv</span><span class="gmail-pun">)</span><span class="gmail-pln"> </span><span class="gmail-pun">{</span><span class="gmail-pln"> printf</span><span class="gmail-pun">(</span><span class="gmail-str">"Hello world!\n"</span><span class="gmail-pun">);</span><span class="gmail-pln"> </span><span class="gmail-kwd">return</span><span class="gmail-pln"> </span><span class="gmail-lit">0</span><span class="gmail-pun">;</span><span class="gmail-pln"> </span><span class="gmail-pun">}</span></code></pre>
<p>I am able to compile this with mingw-gcc successfully:</p>
<pre class="gmail-lang-c gmail-prettyprint gmail-prettyprinted"><code><span class="gmail-pln"> $ gcc test</span><span class="gmail-pun">.</span><span class="gmail-pln">c </span><span class="gmail-pun">-</span><span class="gmail-pln">o test
$ </span><span class="gmail-pun">./</span><span class="gmail-pln">test
</span><span class="gmail-typ">Hello</span><span class="gmail-pln"> world</span><span class="gmail-pun">!</span></code></pre>
<p>I am also able to compile it successfully using clang+mingw:</p>
<pre class="gmail-lang-c gmail-prettyprint gmail-prettyprinted"><code><span class="gmail-pln"> $ clang test</span><span class="gmail-pun">.</span><span class="gmail-pln">c </span><span class="gmail-pun">-</span><span class="gmail-pln">o test </span><span class="gmail-pun">-</span><span class="gmail-pln">target
$ </span><span class="gmail-pun">./</span><span class="gmail-pln">test
</span><span class="gmail-typ">Hello</span><span class="gmail-pln"> world</span><span class="gmail-pun">!</span></code></pre>
<p>However, if I make a small change to my program (include float.h), it
continues to compile with gcc but no longer compiles with clang:</p>
<pre class="gmail-lang-c gmail-prettyprint gmail-prettyprinted"><code><span class="gmail-com">#include</span><span class="gmail-pln"> </span><span class="gmail-str"><stdio.h></span><span class="gmail-pln">
</span><span class="gmail-com">#include</span><span class="gmail-pln"> </span><span class="gmail-str"><float.h></span><span class="gmail-pln">
</span><span class="gmail-typ">int</span><span class="gmail-pln"> main</span><span class="gmail-pun">(</span><span class="gmail-typ">int</span><span class="gmail-pln"> argc</span><span class="gmail-pun">,</span><span class="gmail-pln"> </span><span class="gmail-kwd">char</span><span class="gmail-pln"> </span><span class="gmail-pun">**</span><span class="gmail-pln">argv</span><span class="gmail-pun">)</span><span class="gmail-pln"> </span><span class="gmail-pun">{</span><span class="gmail-pln"> printf</span><span class="gmail-pun">(</span><span class="gmail-str">"Hello world!\n"</span><span class="gmail-pun">);</span><span class="gmail-pln"> </span><span class="gmail-kwd">return</span><span class="gmail-pln"> </span><span class="gmail-lit">0</span><span class="gmail-pun">;</span><span class="gmail-pln"> </span><span class="gmail-pun">}</span></code></pre>
<pre class="gmail-lang-c gmail-prettyprint gmail-prettyprinted"><code><span class="gmail-pln"> $ gcc test</span><span class="gmail-pun">.</span><span class="gmail-pln">c </span><span class="gmail-pun">-</span><span class="gmail-pln">o test
$ </span><span class="gmail-pun">./</span><span class="gmail-pln">test
</span><span class="gmail-typ">Hello</span><span class="gmail-pln"> world</span><span class="gmail-pun">!</span><span class="gmail-pln">
$ clang test</span><span class="gmail-pun">.</span><span class="gmail-pln">c </span><span class="gmail-pun">-</span><span class="gmail-pln">o test </span><span class="gmail-pun">-</span><span class="gmail-pln">target x86_64</span><span class="gmail-pun">-</span><span class="gmail-pln">pc</span><span class="gmail-pun">-</span><span class="gmail-pln">windows</span><span class="gmail-pun">-</span><span class="gmail-pln">gnu
</span><span class="gmail-typ">In</span><span class="gmail-pln"> file included from test</span><span class="gmail-pun">.</span><span class="gmail-pln">c</span><span class="gmail-pun">:</span><span class="gmail-lit">2</span><span class="gmail-pun">:</span><span class="gmail-pln">
</span><span class="gmail-typ">In</span><span class="gmail-pln"> file included from C</span><span class="gmail-pun">:</span><span class="gmail-pln">\llvm\built\lib\clang\8</span><span class="gmail-pun">.</span><span class="gmail-lit">0.0</span><span class="gmail-pln">\include\float</span><span class="gmail-pun">.</span><span class="gmail-pln">h</span><span class="gmail-pun">:</span><span class="gmail-lit">45</span><span class="gmail-pun">:</span><span class="gmail-pln">
C</span><span class="gmail-pun">:</span><span class="gmail-pln">\mingw64</span><span class="gmail-pun">-</span><span class="gmail-lit">8.1</span><span class="gmail-pun">.</span><span class="gmail-lit">0</span><span class="gmail-pln">\x</span><span class="gmail-lit">86</span><span class="gmail-pln">_64</span><span class="gmail-pun">-</span><span class="gmail-pln">w64</span><span class="gmail-pun">-</span><span class="gmail-pln">mingw32\include\float</span><span class="gmail-pun">.</span><span class="gmail-pln">h</span><span class="gmail-pun">:</span><span class="gmail-lit">28</span><span class="gmail-pun">:</span><span class="gmail-lit">15</span><span class="gmail-pun">:</span><span class="gmail-pln"> fatal error</span><span class="gmail-pun">:</span><span class="gmail-pln"> </span><span class="gmail-str">'float.h'</span><span class="gmail-pln"> file not found
</span><span class="gmail-com">#include_next <float.h></span><span class="gmail-pln">
</span><span class="gmail-pun">^~~~~~~~~</span><span class="gmail-pln">
</span><span class="gmail-lit">1</span><span class="gmail-pln"> error generated</span><span class="gmail-pun">.</span></code></pre>
<p>Is there some configuration issue with clang or some missing command
line argument? Googling around a bit, it appears that the order of paths
when including float.h is important, but this is all supposed to be
handled internally by the clang driver. <br></p><p>Thanks,</p><p>Harry Wagstaff<br></p>
</div>
</div>