<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Dec 1, 2021 at 6:10 AM Keane, Erich <<a href="mailto:erich.keane@intel.com">erich.keane@intel.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">





<div lang="EN-US" style="word-wrap:break-word">
<div class="gmail-m_-7520072620283142911WordSection1">
<p class="MsoNormal">>> Can you expand on why? It really isn't obvious to me. I believe in particular that MSVC was singled out because Windows does not work like "Linux distribution" and the pattern of users made it reasonable to expect to support the last
 two major versions.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Updating toolchains is really painful for both on my downstream’s testing AND infrastructure (and for others).  For those of us living off of trunk, every time we bump these numbers our infrastructure teams need to put together an ‘emergency’
 response to get us working again.  Doing this in lockstep means it saves us a significant amount of time and effort, vs doing it as 2 separate patches.</p></div></div></blockquote><div><br></div><div>I agree that updating toolchains is painful, and that can be a reason to not upgrade too often. It is actually a counter argument to "upgrade by small steps": better to upgrade less frequently and to minimum versions of compilers well identified in long-term supported distributions (somehow like Renator described).</div><div><br></div><div>Now I don't quite understand the connection to "doing it in lockstep"? In particular MSVC and *nix infra are fairly different in general (I maintain Docker images for our linux testing, it really isn't clear what is the cross-cutting impact to Windows here).</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div lang="EN-US" style="word-wrap:break-word"><div class="gmail-m_-7520072620283142911WordSection1"><p class="MsoNormal"><u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<div style="border-style:solid none none;border-top-width:1pt;border-top-color:rgb(225,225,225);padding:3pt 0in 0in">
<p class="MsoNormal"><b>From:</b> Mehdi AMINI <<a href="mailto:joker.eph@gmail.com" target="_blank">joker.eph@gmail.com</a>> <br>
<b>Sent:</b> Tuesday, November 30, 2021 11:38 PM<br>
<b>To:</b> Keane, Erich <<a href="mailto:erich.keane@intel.com" target="_blank">erich.keane@intel.com</a>><br>
<b>Cc:</b> llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>>; <a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><br>
<b>Subject:</b> Re: [cfe-dev] [llvm-dev] [RFC] Raise the minimum Visual Studio version to VS2019<u></u><u></u></p>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div>
<p class="MsoNormal">On Tue, Nov 30, 2021 at 10:44 AM Keane, Erich via cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>> wrote:<u></u><u></u></p>
</div>
<blockquote style="border-style:none none none solid;border-left-width:1pt;border-left-color:rgb(204,204,204);padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<p class="MsoNormal">So I’d like to ‘bump’ this conversation, since it was sent during Thanksgiving week I suspect many may have not seen this (And I’d very much like to avoid this getting reverted/complained
 about on those grounds).<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal">That said, I believe the last time we discussed raising these versions (when JF and I pushed them to our current limits), the general direction was that we should minimize the amount
 of changes to our toolchains, <u></u><u></u></p>
</div>
</div>
</blockquote>
<blockquote style="border-style:none none none solid;border-left-width:1pt;border-left-color:rgb(204,204,204);padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<p class="MsoNormal">which encouraged us at the time to move our requirements in lockstep. I personally would suggest we update GCC, Clang, and AppleClang at the same time.<u></u><u></u></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Can you expand on why? It really isn't obvious to me. I believe in particular that MSVC was singled out because Windows does not work like "Linux distribution" and the pattern of users made it reasonable to expect to support the last two
 major versions.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal"> Thanks,<u></u><u></u></p>
</div>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<blockquote style="border-style:none none none solid;border-left-width:1pt;border-left-color:rgb(204,204,204);padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
<div>
<div style="border-style:solid none none;border-top-width:1pt;border-top-color:rgb(225,225,225);padding:3pt 0in 0in">
<p class="MsoNormal"><b>From:</b> llvm-dev <<a href="mailto:llvm-dev-bounces@lists.llvm.org" target="_blank">llvm-dev-bounces@lists.llvm.org</a>>
<b>On Behalf Of </b>Simon Pilgrim via llvm-dev<br>
<b>Sent:</b> Friday, November 26, 2021 6:27 AM<br>
<b>To:</b> <a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<b>Subject:</b> Re: [llvm-dev] [RFC] Raise the minimum Visual Studio version to VS2019<u></u><u></u></p>
</div>
</div>
<p class="MsoNormal"> <u></u><u></u></p>
<p>I've created a patch here: <a href="https://reviews.llvm.org/D114639" target="_blank">
https://reviews.llvm.org/D114639</a><u></u><u></u></p>
<div>
<p class="MsoNormal">On 25/11/2021 13:51, Simon Pilgrim via llvm-dev wrote:<u></u><u></u></p>
</div>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p>Thanks for the responses, it looks like making VS2019 the minimum supported version sooner rather than later will help a number of cases.<u></u><u></u></p>
<p>I'll create a patch this weekend, for review next week when more people are back after the USA holiday.<u></u><u></u></p>
<p>Simon.<u></u><u></u></p>
<div>
<p class="MsoNormal">On 25/11/2021 12:57, James Henderson via llvm-dev wrote:<u></u><u></u></p>
</div>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<div>
<div>
<p class="MsoNormal">I'm also personally in favour of this - a couple of months ago I ran into a bug with the VS2017 compiler that isn't present in the VS2019 one, that was preventing me using std::enable_if
 in a way I'd have liked to. Being able to retire VS2017 support would simplify a few things for me.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">James<u></u><u></u></p>
</div>
</div>
<p class="MsoNormal"> <u></u><u></u></p>
<div>
<div>
<p class="MsoNormal">On Thu, 25 Nov 2021 at 12:30, Jan Svoboda via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>> wrote:<u></u><u></u></p>
</div>
<blockquote style="border-style:none none none solid;border-left-width:1pt;border-left-color:rgb(204,204,204);padding:0in 0in 0in 6pt;margin:5pt 0in 5pt 4.8pt">
<p class="MsoNormal">I'm in support of this proposal.<br>
<br>
I hit an unexpected preprocessor behavior in VS2017, forcing me to revert a patch that removed some repetitive code (D95532). The flag that fixes the issue (`/experimental:preprocessor`) is only present in Visual Studio 2017 version 15.8 and later. Raising
 the minimum supported version to VS2019 would allow us to enable `/Zc:preprocessor` and re-land the patch.<br>
<br>
Cheers,<br>
Jan<br>
<br>
> On Nov 23, 2021, at 5:47 PM, Michael Kruse via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>> wrote:<br>
> <br>
> By our policy to support the last 2 major versions of VS, this is the<br>
> right thing to do. Removing support for old compiler versions lessens<br>
> the maintenance burden, e.g. when committing a change that happens to<br>
> run a bug/missing feature of VS2017.<br>
> <br>
> If I am not mistaken, the value of the latest VS2019 is 1929, not 1927 [1].<br>
> <br>
> Michael<br>
> <br>
> [1] <a href="https://docs.microsoft.com/en-us/cpp/preprocessor/predefined-macros?view=msvc-170" target="_blank">
https://docs.microsoft.com/en-us/cpp/preprocessor/predefined-macros?view=msvc-170</a><br>
> <br>
> Am Di., 23. Nov. 2021 um 05:56 Uhr schrieb Simon Pilgrim via llvm-dev<br>
> <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>>:<br>
>> <br>
>> Now that VS2022 is on general release, LLVM is expected to build on<br>
>> VS2017, VS2019 and VS2022.<br>
>> <br>
>> What are people's thoughts on raising the minimum supported version to<br>
>> latest VS2019 (_MSC_VER = 1927)? Customarily, we've only specifically<br>
>> supported the latest 2 versions of Visual Studio, with older versions<br>
>> being "allowed" (at your own risk) via the LLVM_FORCE_USE_OLD_TOOLCHAIN<br>
>> cmake flag.<br>
>> <br>
>> I'm thinking we should either make the switch now, in plenty of time<br>
>> before the next release of LLVM, or we postpone it until shortly after<br>
>> the release branch is created (which I assume will be early 2022).<br>
>> <br>
>> For the record, I haven't so far noticed any issues with supporting<br>
>> VS2017, VS2019 and VS2022 builds, so at this time I don't consider this<br>
>> very urgent, just a general maintenance task - although somebody out<br>
>> there may know of specific fixes in VS2019+ that could simplify LLVM<br>
>> handling for MSVC etc.<br>
>> <br>
>> Cheers, Simon.<br>
>> <br>
>> _______________________________________________<br>
>> LLVM Developers mailing list<br>
>> <a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
>> <a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" target="_blank">
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
> _______________________________________________<br>
> LLVM Developers mailing list<br>
> <a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
> <a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" target="_blank">
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
<br>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><u></u><u></u></p>
</blockquote>
</div>
<p class="MsoNormal" style="margin-bottom:12pt"><u></u> <u></u></p>
<pre>_______________________________________________<u></u><u></u></pre>
<pre>LLVM Developers mailing list<u></u><u></u></pre>
<pre><a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><u></u><u></u></pre>
<pre><a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><u></u><u></u></pre>
</blockquote>
<p class="MsoNormal" style="margin-bottom:12pt"><u></u> <u></u></p>
<pre>_______________________________________________<u></u><u></u></pre>
<pre>LLVM Developers mailing list<u></u><u></u></pre>
<pre><a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><u></u><u></u></pre>
<pre><a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><u></u><u></u></pre>
</blockquote>
</div>
</div>
<p class="MsoNormal">_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><u></u><u></u></p>
</blockquote>
</div>
</div>
</div>
</div>

</blockquote></div></div>