<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Wed, Jul 9, 2014 at 3:01 PM, Edward Diener <span dir="ltr"><<a href="mailto:eldlistmailingz@tropicsoft.com" target="_blank">eldlistmailingz@tropicsoft.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="">On 7/9/2014 2:40 PM, Reid Kleckner wrote:<br>
</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="">
On Wed, Jul 9, 2014 at 7:09 AM, Edward Diener<br>
<<a href="mailto:eldlistmailingz@tropicsoft.com" target="_blank">eldlistmailingz@tropicsoft.<u></u>com</a><br></div><div class="">
<mailto:<a href="mailto:eldlistmailingz@tropicsoft.com" target="_blank">eldlistmailingz@<u></u>tropicsoft.com</a>>> wrote:<br>
<br>
    I see where a build of clang on Windows using VC++ produces both<br>
    clang.exe and clang-cl.exe and that they are both the same<br>
    executables. Nonetheless depending on the -target ( or default<br>
    -target ) passed to the clang driver we have different build<br>
    expectations in Boost Build. In Windows When the target mode is VC++<br>
    clang emulates VC++ in various ways and when the target mode is<br>
    mingw/gcc clang emulates mingw/gcc. Even with the latter on Windows<br>
    there are a few subtle differences from clang on Linux. That is why<br>
    Boost Build needs to treat them differently from within its .jam files.<br>
<br>
<br>
What kinds of properties of a compiler do you normally check in Boost<br>
Build?  If you're willing to do a test compile, you can look for '#if<br>
defined(__clang__) && defined(_MSC_VER)' or '#if defined(__clang__) &&<br>
defined(__GNUC__)'.<br>
</div></blockquote>
<br>
That is another possibility which I will bring up in Boost Build.<br>
<br>
Essentially we need to find out as easily as possible whether a clang executable on Windows targets vc++ or gcc/mingw,</blockquote><div><br></div><div>I think going forward, the idea is that "clang" will try to be gcc-compatible (i.e. target minw), while "clang-cl" will try to be cl-compatible and targes vc++.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"> while also taking into account the -target option on the command line.<br>
<br>
BTW I could not find in the latest clang 3.5 documentation any mention of the -target option. Likewise, and I am sure you have heard it before, an alphabetical list of all clang options in the documentation, with explanations for each one, would be greatly appreciated.</blockquote>
<div><br></div><div>clang --help prints a list of all driver options, with at least some help text.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb">
<div class="h5"><br>
<br>
______________________________<u></u>_________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@cs.uiuc.edu" target="_blank">cfe-dev@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/<u></u>mailman/listinfo/cfe-dev</a><br>
</div></div></blockquote></div><br></div></div>