To be clear, I never suggested we should treat cmd.exe as a valid choice of external shell.  What I meant was that the two supported configurations should be:<br><br>1) (non-Windows or WSL) && bashExists: use external shell<br>2) everything else: use internal shell<br><br>Note that #2 definitely is supported from inside cmd.exe<br><div class="gmail_quote"><div dir="ltr">On Thu, Oct 4, 2018 at 1:43 PM Reid Kleckner via Phabricator <<a href="mailto:reviews@reviews.llvm.org">reviews@reviews.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">rnk added a comment.<br>
<br>
Running cmd.exe is probably even less supported than running bash. If someone is accidentally using execute_external=True, I'd prefer it if they kept using bash and not cmd. So, I'd stick with the first patch.<br>
<br>
There are only 111 instances of REQUIRES.*shell in the LLVM monorepo today. We should push all the remaining ones to invoke `sh -c ...` directly for the shell they need, and make the internal lit shell the default lit shell implementation everywhere. It'll simplify lit code and make tests more portable.<br>
<br>
<br>
<a href="https://reviews.llvm.org/D52831" rel="noreferrer" target="_blank">https://reviews.llvm.org/D52831</a><br>
<br>
<br>
<br>
</blockquote></div>