<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Wed, Jul 9, 2014 at 5:26 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>On 7/9/2014 6:22 PM, Nico Weber wrote:<br>
</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>
On Wed, Jul 9, 2014 at 3:01 PM, Edward Diener<br>
<<a href="mailto:eldlistmailingz@tropicsoft.com" target="_blank">eldlistmailingz@tropicsoft.<u></u>com</a><br></div><div>
<mailto:<a href="mailto:eldlistmailingz@tropicsoft.com" target="_blank">eldlistmailingz@<u></u>tropicsoft.com</a>>> wrote:<br>
<br>
    On 7/9/2014 2:40 PM, Reid Kleckner wrote:<br>
<br>
        On Wed, Jul 9, 2014 at 7:09 AM, Edward Diener<br></div>
        <eldlistmailingz@tropicsoft.__<u></u>com<br>
        <mailto:<a href="mailto:eldlistmailingz@tropicsoft.com" target="_blank">eldlistmailingz@<u></u>tropicsoft.com</a>><br>
        <mailto:<a href="mailto:eldlistmailingz@" target="_blank">eldlistmailingz@</a>__<a href="http://tropicsoft.com" target="_blank">trop<u></u>icsoft.com</a><div><div><br>
        <mailto:<a href="mailto:eldlistmailingz@tropicsoft.com" target="_blank">eldlistmailingz@<u></u>tropicsoft.com</a>>>><br>
        wrote:<br>
<br>
             I see where a build of clang on Windows using VC++ produces<br>
        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<br>
        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<br>
        Windows<br>
             there are a few subtle differences from clang on Linux.<br>
        That is why<br>
             Boost Build needs to treat them differently from within its<br>
        .jam files.<br>
<br>
<br>
        What kinds of properties of a compiler do you normally check in<br>
        Boost<br>
        Build?  If you're willing to do a test compile, you can look for<br>
        '#if<br>
        defined(__clang__) && defined(_MSC_VER)' or '#if<br>
        defined(__clang__) &&<br>
        defined(__GNUC__)'.<br>
<br>
<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<br>
    clang executable on Windows targets vc++ or gcc/mingw,<br>
<br>
<br>
I think going forward, the idea is that "clang" will try to be<br>
gcc-compatible (i.e. target minw), while "clang-cl" will try to be<br>
cl-compatible and targes vc++.<br>
</div></div></blockquote>
<br>
However clang also creates a clang.exe driver, which is exactly the same file as clang-cl.exe, when building clang with VC++.</blockquote><div><br></div><div>I think that's something we want to change. clang.exe should be the gcc-like driver and clang-cl.exe the msvs-like driver, no matter what compiler is used to compile clang.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
    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<br>
    mention of the -target option. Likewise, and I am sure you have<br>
    heard it before, an alphabetical list of all clang options in the<br>
    documentation, with explanations for each one, would be greatly<br>
    appreciated.<br>
<br>
<br>
clang --help prints a list of all driver options, with at least some<br>
help text.<br>
</blockquote>
<br></div>
Yes, but the explanation is pretty terse and then the clang docs are sometimes missing any explanation for a particular option, leaving the end-user to do random guesswork or ask on the clang mailing lists.<div>
<div><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>