Retiring VS2015 Support

AFAICT we traditionally only support building llvm/clang with the 2 most recent releases of Visual Studio.

With the release of VS2019, what do people think of retiring VS2015 support before the next major llvm/clang release?

As well as simplifying C++14 migration (admittedly only a little), this should also let us remove a number of hacks (e.g. the alignas/AlignedCharArray hack in AlignOf.h), as well as re-enabling a number of warnings in HandleLLVMOptions.cmake.

I haven't noticed any build bots still referring to VS2015 (at least not by name).

Simon.

+1 from me. I’d recommend waiting a week for objections before committing changes and updating the release notes. Thanks for proposing this.

AFAICT we traditionally only support building llvm/clang with the 2 most
recent releases of Visual Studio.

With the release of VS2019, what do people think of retiring VS2015
support before the next major llvm/clang release?

+1 from me.

~Aaron

Isn't this already covered by the compiler upgrade plan that was under discussion a while ago? The plan covers all compilers, not only VS.

If I understand correctly, VS2015 is already in the "soft error" range, and it will trigger a hard CMake error next time we bump the minimum requirements. Last I heard, we were waiting for Google to finish some internal work.

Isn't this already covered by the compiler upgrade plan that was under discussion a while ago? The plan covers all compilers, not only VS.

Yes, but I see no problem with bumping the VS requirements earlier - there's nothing binding GCC + VS minimum requirements together. And as I pointed out this will let us start removing some VS compatibility hacks in time for the 9.0 release cycle, plus we no longer seem to have little/no build+test coverage for VS2015.

If I understand correctly, VS2015 is already in the "soft error" range, and it will trigger a hard CMake error next time we bump the minimum requirements. Last I heard, we were waiting for Google to finish some internal work.

That's what I'd vaguely meant by the C++14 migration - I might have been mistaken but I thought that was due to Google's dependency on older GCC versions not VS?