<div dir="ltr"><div><span class="" style="font-size:14px">Hello</span><span style="font-size:14px"> swift-evolution,</span><br></div><div><br></div><div>This is continued from PR #2351(<a href="https://github.com/apple/swift/pull/2351">https://github.com/apple/swift/pull/2351</a>).</div><div><br></div><div>Here is the brief history. (To avoid confusion, I used MSVC refer to *-*-windows-msvc and Cygwin refer to *-*-windows-cygnus in LLVM.)</div><div><br></div><div>I needed the #if method to distinct MSVC from Cygwin, for mapping the Int to CLongLong not CLong on MSVC.</div><div>In PR #2351, I simply added &#39;os(Cygwin)&#39; and restrict &#39;os(Windows)&#39; to *-*-windows-msvc from *-*-windows-*, this solved my problem.</div><div><br></div><div>Jake(@jakepetroules) pointed out that Cygwin is not an OS and it will never fixed to avoid breaking user applications.</div><div>There is more  participants and opinions, briefly,</div><div>- introduce another new one such as &#39;env(cygnus)&#39; or &#39;triple(Cygwin)&#39;</div><div>- the usability of the common condition &#39;os(Windows)&#39; for *-*-windows-*</div><div>- fundamentally, what do we gain from asking which os() is in use?</div><div>- &#39;env()&#39; is too vague</div><div>- what the right questions?</div><div><br></div><div>Forgive me the poor quotations of valuable opinions.</div><div><br></div><div><br></div><div>I hope we find out the solution or method everybody satisfied.</div><div><br></div><div><br></div><div>-Han Sangjin</div></div>