[llvm-dev] [cfe-dev] [RFC] Raise the minimum Visual Studio version to VS2019
Aaron Ballman via llvm-dev
llvm-dev at lists.llvm.org
Wed Dec 1 04:20:02 PST 2021
On Wed, Dec 1, 2021 at 2:38 AM Mehdi AMINI via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
>
>
>
> On Tue, Nov 30, 2021 at 10:44 AM Keane, Erich via cfe-dev <cfe-dev at lists.llvm.org> wrote:
>>
>> 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).
>>
>>
>>
>> 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,
>>
>> 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.
>
>
>
> 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.
As I recall, we did single out MSVC specifically because there is no
LTS release concept for developers using that toolchain to be tied to,
unlike GCC, etc. The best approach we could come up with at the time
was "last two releases" because releases were happening at a slow
enough cadence for that to make sense. With the new release cycles for
MSVC, I don't think "last two releases" makes sense any longer.
That said, I'm also happy to see our GCC and Clang requirements
updated if that's reasonable to do so. GCC 5.1 was released April 2015
and Clang 3.5 was released Sept 2014, so these are not particularly
new toolchains. Frankly, my biggest driver is the ability to
eventually use C++17 in the code base. I believe the most responsible
way for us to do that is to upgrade compilers before we switch default
language modes so that we're not changing too much at once, which
makes regressions easier to track down and report. However, getting a
newer toolchain by itself is a good end result (we know we're doing
the upgrades at some point and smaller version deltas are often less
risky than larger version deltas).
~Aaron
>
> Thanks,
>
>>
>>
>> From: llvm-dev <llvm-dev-bounces at lists.llvm.org> On Behalf Of Simon Pilgrim via llvm-dev
>> Sent: Friday, November 26, 2021 6:27 AM
>> To: llvm-dev at lists.llvm.org
>> Subject: Re: [llvm-dev] [RFC] Raise the minimum Visual Studio version to VS2019
>>
>>
>>
>> I've created a patch here: https://reviews.llvm.org/D114639
>>
>> On 25/11/2021 13:51, Simon Pilgrim via llvm-dev wrote:
>>
>> Thanks for the responses, it looks like making VS2019 the minimum supported version sooner rather than later will help a number of cases.
>>
>> I'll create a patch this weekend, for review next week when more people are back after the USA holiday.
>>
>> Simon.
>>
>> On 25/11/2021 12:57, James Henderson via llvm-dev wrote:
>>
>> 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.
>>
>>
>>
>> James
>>
>>
>>
>> On Thu, 25 Nov 2021 at 12:30, Jan Svoboda via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>>
>> I'm in support of this proposal.
>>
>> 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.
>>
>> Cheers,
>> Jan
>>
>> > On Nov 23, 2021, at 5:47 PM, Michael Kruse via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>> >
>> > By our policy to support the last 2 major versions of VS, this is the
>> > right thing to do. Removing support for old compiler versions lessens
>> > the maintenance burden, e.g. when committing a change that happens to
>> > run a bug/missing feature of VS2017.
>> >
>> > If I am not mistaken, the value of the latest VS2019 is 1929, not 1927 [1].
>> >
>> > Michael
>> >
>> > [1] https://docs.microsoft.com/en-us/cpp/preprocessor/predefined-macros?view=msvc-170
>> >
>> > Am Di., 23. Nov. 2021 um 05:56 Uhr schrieb Simon Pilgrim via llvm-dev
>> > <llvm-dev at lists.llvm.org>:
>> >>
>> >> Now that VS2022 is on general release, LLVM is expected to build on
>> >> VS2017, VS2019 and VS2022.
>> >>
>> >> What are people's thoughts on raising the minimum supported version to
>> >> latest VS2019 (_MSC_VER = 1927)? Customarily, we've only specifically
>> >> supported the latest 2 versions of Visual Studio, with older versions
>> >> being "allowed" (at your own risk) via the LLVM_FORCE_USE_OLD_TOOLCHAIN
>> >> cmake flag.
>> >>
>> >> I'm thinking we should either make the switch now, in plenty of time
>> >> before the next release of LLVM, or we postpone it until shortly after
>> >> the release branch is created (which I assume will be early 2022).
>> >>
>> >> For the record, I haven't so far noticed any issues with supporting
>> >> VS2017, VS2019 and VS2022 builds, so at this time I don't consider this
>> >> very urgent, just a general maintenance task - although somebody out
>> >> there may know of specific fixes in VS2019+ that could simplify LLVM
>> >> handling for MSVC etc.
>> >>
>> >> Cheers, Simon.
>> >>
>> >> _______________________________________________
>> >> LLVM Developers mailing list
>> >> llvm-dev at lists.llvm.org
>> >> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>> > _______________________________________________
>> > LLVM Developers mailing list
>> > llvm-dev at lists.llvm.org
>> > https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>>
>> _______________________________________________
>> LLVM Developers mailing list
>> llvm-dev at lists.llvm.org
>> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>>
>>
>>
>> _______________________________________________
>>
>> LLVM Developers mailing list
>>
>> llvm-dev at lists.llvm.org
>>
>> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>>
>>
>>
>> _______________________________________________
>>
>> LLVM Developers mailing list
>>
>> llvm-dev at lists.llvm.org
>>
>> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>>
>> _______________________________________________
>> cfe-dev mailing list
>> cfe-dev at lists.llvm.org
>> https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
More information about the llvm-dev
mailing list