Re: [Lldb-commits] [PATCH] D114639: Raise the minimum Visual Studio version to VS2019

2022-01-31 Thread Rachel Lane via cfe-commits


Rachel Lane 
07459167844

> On 29 Jan 2022, at 10:57, Simon Pilgrim via Phabricator via lldb-commits 
>  wrote:
> 
> This revision was landed with ongoing or failed builds.
> This revision was automatically updated to reflect the committed changes.
> Closed by commit rG058c5dfc78cd: Raise the minimum Visual Studio version to 
> VS2019 (authored by RKSimon).
> 
> Changed prior to commit:
>  https://reviews.llvm.org/D114639?vs=404076=404249#toc
> 
> Repository:
>  rG LLVM Github Monorepo
> 
> CHANGES SINCE LAST ACTION
>  https://reviews.llvm.org/D114639/new/
> 
> https://reviews.llvm.org/D114639
> 
> Files:
>  clang/docs/ClangFormatStyleOptions.rst
>  clang/docs/UsersManual.rst
>  lldb/docs/resources/build.rst
>  lldb/docs/resources/test.rst
>  llvm/cmake/modules/CheckCompilerVersion.cmake
>  llvm/docs/CMake.rst
>  llvm/docs/GettingStarted.rst
>  llvm/docs/GettingStartedVS.rst
>  llvm/docs/ReleaseNotes.rst
>  llvm/include/llvm/Support/Compiler.h
> 
> 
> ___
> lldb-commits mailing list
> lldb-comm...@lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


Re: [Lldb-commits] [PATCH] D114639: Raise the minimum Visual Studio version to VS2019

2022-01-31 Thread Rachel Lane via cfe-commits
Hi I just wanted to say Thanks 

Rachel Lane 
07459167844

> On 29 Jan 2022, at 10:57, Simon Pilgrim via Phabricator via lldb-commits 
>  wrote:
> 
> This revision was landed with ongoing or failed builds.
> This revision was automatically updated to reflect the committed changes.
> Closed by commit rG058c5dfc78cd: Raise the minimum Visual Studio version to 
> VS2019 (authored by RKSimon).
> 
> Changed prior to commit:
>  https://reviews.llvm.org/D114639?vs=404076=404249#toc
> 
> Repository:
>  rG LLVM Github Monorepo
> 
> CHANGES SINCE LAST ACTION
>  https://reviews.llvm.org/D114639/new/
> 
> https://reviews.llvm.org/D114639
> 
> Files:
>  clang/docs/ClangFormatStyleOptions.rst
>  clang/docs/UsersManual.rst
>  lldb/docs/resources/build.rst
>  lldb/docs/resources/test.rst
>  llvm/cmake/modules/CheckCompilerVersion.cmake
>  llvm/docs/CMake.rst
>  llvm/docs/GettingStarted.rst
>  llvm/docs/GettingStartedVS.rst
>  llvm/docs/ReleaseNotes.rst
>  llvm/include/llvm/Support/Compiler.h
> 
> 
> ___
> lldb-commits mailing list
> lldb-comm...@lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D114639: Raise the minimum Visual Studio version to VS2019

2022-01-30 Thread Simon Pilgrim via Phabricator via cfe-commits
RKSimon added a comment.

mlir-windows buildbot looks to be green now - thanks!


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114639/new/

https://reviews.llvm.org/D114639

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


Re: [EXTERNAL] [PATCH] D114639: Raise the minimum Visual Studio version to VS2019

2022-01-29 Thread Stella Stamenova via cfe-commits
I will take care of it today. The bot does have vs2019 installed and it should 
be picking up latest VS (and it was when I updated it), so there is an easy fix 
(remove 2017) and then I can investigate why it stopped picking up latest.

Get Outlook for iOS<https://aka.ms/o0ukef>

From: Simon Pilgrim via Phabricator 
Sent: Saturday, January 29, 2022 3:12:52 AM
To: llvm-...@redking.me.uk ; Reid Kleckner 
; aaron.ball...@gmail.com ; 
ztur...@roblox.com ; jh7...@my.bristol.ac.uk 
; l...@meinersbur.de ; 
jan_svob...@apple.com ; greg_bedw...@sn.scee.net 
; Stella Stamenova 
Cc: jo...@devlieghere.com ; lldb-comm...@lists.llvm.org 
; h.vetin...@gmx.com ; 
vitalyb...@google.com ; jrhen...@gmail.com 
; reviews.llvm@jfbastien.com 
; erich.ke...@intel.com 
; joker@gmail.com ; Saleem 
Abdulrasool ; russell.gal...@sony.com 
; cfe-commits@lists.llvm.org 
; mgo...@gentoo.org ; 
mar...@martin.st ; llvm-comm...@lists.llvm.org 
; h.imai@nitech.jp ; 
bhuvanendra.kum...@amd.com ; gandhi21...@gmail.com 
; yanliang...@intel.com ; 
liburd1...@outlook.com ; serhiy.re...@gmail.com 
; quic_soura...@quicinc.com 
; dougp...@gmail.com ; 
david.spick...@linaro.org ; mlek...@skidmore.edu 
; blitzrak...@gmail.com ; 
shen...@google.com ; michael.hl...@gmail.com 
; bruce.mitche...@gmail.com 
; yuanfang.c...@sony.com 
Subject: [EXTERNAL] [PATCH] D114639: Raise the minimum Visual Studio version to 
VS2019

RKSimon added a comment.

@stella.stamenova It looks like the mlir-windows buildbot is still using VS2017:

  CMake Error at cmake/modules/CheckCompilerVersion.cmake:39 (message):
Host Visual Studio version must be at least 19.20, your version is
19.16.27045.0.

Are you able to make the fix or would you prefer I revert for now?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Freviews.llvm.org%2FD114639%2Fnew%2Fdata=04%7C01%7Cstilis%40microsoft.com%7C1299827a2cee41cb745b08d9e3184ba9%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637790515814400729%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000sdata=WccQ1%2B3T0IE2c%2BrjkWNmZIFZFsQaaGq6NIM8gpduOpY%3Dreserved=0

https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Freviews.llvm.org%2FD114639data=04%7C01%7Cstilis%40microsoft.com%7C1299827a2cee41cb745b08d9e3184ba9%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637790515814400729%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000sdata=eymjF3kMlfwwx8%2Bf0B10dxYWaW%2BYkSuvmoWCCBuR2YE%3Dreserved=0

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D114639: Raise the minimum Visual Studio version to VS2019

2022-01-29 Thread Simon Pilgrim via Phabricator via cfe-commits
RKSimon added a comment.

@stella.stamenova It looks like the mlir-windows buildbot is still using VS2017:

  CMake Error at cmake/modules/CheckCompilerVersion.cmake:39 (message):
Host Visual Studio version must be at least 19.20, your version is
19.16.27045.0.

Are you able to make the fix or would you prefer I revert for now?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114639/new/

https://reviews.llvm.org/D114639

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D114639: Raise the minimum Visual Studio version to VS2019

2022-01-29 Thread Simon Pilgrim via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
Closed by commit rG058c5dfc78cd: Raise the minimum Visual Studio version to 
VS2019 (authored by RKSimon).

Changed prior to commit:
  https://reviews.llvm.org/D114639?vs=404076=404249#toc

Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114639/new/

https://reviews.llvm.org/D114639

Files:
  clang/docs/ClangFormatStyleOptions.rst
  clang/docs/UsersManual.rst
  lldb/docs/resources/build.rst
  lldb/docs/resources/test.rst
  llvm/cmake/modules/CheckCompilerVersion.cmake
  llvm/docs/CMake.rst
  llvm/docs/GettingStarted.rst
  llvm/docs/GettingStartedVS.rst
  llvm/docs/ReleaseNotes.rst
  llvm/include/llvm/Support/Compiler.h

Index: llvm/include/llvm/Support/Compiler.h
===
--- llvm/include/llvm/Support/Compiler.h
+++ llvm/include/llvm/Support/Compiler.h
@@ -77,12 +77,21 @@
 /// * 1916: VS2017, version 15.9
 /// * 1920: VS2019, version 16.0
 /// * 1921: VS2019, version 16.1
+/// * 1922: VS2019, version 16.2
+/// * 1923: VS2019, version 16.3
+/// * 1924: VS2019, version 16.4
+/// * 1925: VS2019, version 16.5
+/// * 1926: VS2019, version 16.6
+/// * 1927: VS2019, version 16.7
+/// * 1928: VS2019, version 16.8 + 16.9
+/// * 1929: VS2019, version 16.10 + 16.11
+/// * 1930: VS2022, version 17.0
 #ifdef _MSC_VER
 #define LLVM_MSC_PREREQ(version) (_MSC_VER >= (version))
 
-// We require at least MSVC 2017.
-#if !LLVM_MSC_PREREQ(1910)
-#error LLVM requires at least MSVC 2017.
+// We require at least VS 2019.
+#if !LLVM_MSC_PREREQ(1920)
+#error LLVM requires at least VS 2019.
 #endif
 
 #else
@@ -94,12 +103,8 @@
 /// Sadly, this is separate from just rvalue reference support because GCC
 /// and MSVC implemented this later than everything else. This appears to be
 /// corrected in MSVC 2019 but not MSVC 2017.
-#if __has_feature(cxx_rvalue_references) || defined(__GNUC__) ||   \
-LLVM_MSC_PREREQ(1920)
+/// FIXME: Remove LLVM_HAS_RVALUE_REFERENCE_THIS macro
 #define LLVM_HAS_RVALUE_REFERENCE_THIS 1
-#else
-#define LLVM_HAS_RVALUE_REFERENCE_THIS 0
-#endif
 
 /// Expands to '&' if ref-qualifiers for *this are supported.
 ///
Index: llvm/docs/ReleaseNotes.rst
===
--- llvm/docs/ReleaseNotes.rst
+++ llvm/docs/ReleaseNotes.rst
@@ -65,7 +65,7 @@
 Changes to building LLVM
 
 
-* ...
+* Building LLVM with Visual Studio now requires version 2019 or later.
 
 Changes to TableGen
 ---
Index: llvm/docs/GettingStartedVS.rst
===
--- llvm/docs/GettingStartedVS.rst
+++ llvm/docs/GettingStartedVS.rst
@@ -36,7 +36,7 @@
 
 Hardware
 
-Any system that can adequately run Visual Studio 2017 is fine. The LLVM
+Any system that can adequately run Visual Studio 2019 is fine. The LLVM
 source tree including the git index consumes approximately 3GB.
 Object files, libraries and executables consume approximately 5GB in
 Release mode and much more in Debug mode. SSD drive and >16GB RAM are
@@ -45,13 +45,14 @@
 
 Software
 
-You will need `Visual Studio `_ 2017 or
-higher, with the latest Update installed. Visual Studio Community Edition
+You will need `Visual Studio `_ 2019 or
+later, with the latest Update installed. Visual Studio Community Edition
 suffices.
 
 You will also need the `CMake `_ build system since it
 generates the project files you will use to build with. CMake is bundled with
-Visual Studio 2019 so separate installation is not required.
+Visual Studio 2019 so separate installation is not required. If you do install
+CMake separately, Visual Studio 2022 will require CMake Version 3.21 or later.
 
 If you would like to run the LLVM tests you will need `Python
 `_. Version 3.6 and newer are known to work. You can
Index: llvm/docs/GettingStarted.rst
===
--- llvm/docs/GettingStarted.rst
+++ llvm/docs/GettingStarted.rst
@@ -238,7 +238,7 @@
 * Clang 3.5
 * Apple Clang 6.0
 * GCC 5.1
-* Visual Studio 2017
+* Visual Studio 2019
 
 Anything older than these toolchains *may* work, but will require forcing the
 build system with a special option and is not really a supported host platform.
@@ -273,8 +273,8 @@
 This section mostly applies to Linux and older BSDs. On macOS, you should
 have a sufficiently modern Xcode, or you will likely need to upgrade until you
 do. Windows does not have a "system compiler", so you must install either Visual
-Studio 2017 or a recent version of mingw64. FreeBSD 10.0 and newer have a modern
-Clang as the system compiler.
+Studio 2019 (or later), or a recent version of mingw64. FreeBSD 10.0 and newer

[PATCH] D114639: Raise the minimum Visual Studio version to VS2019

2022-01-28 Thread Simon Pilgrim via Phabricator via cfe-commits
RKSimon updated this revision to Diff 404076.
RKSimon added a comment.

fix cut+paste typo


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114639/new/

https://reviews.llvm.org/D114639

Files:
  clang/docs/ClangFormatStyleOptions.rst
  clang/docs/UsersManual.rst
  lldb/docs/resources/build.rst
  lldb/docs/resources/test.rst
  llvm/cmake/modules/CheckCompilerVersion.cmake
  llvm/docs/CMake.rst
  llvm/docs/GettingStarted.rst
  llvm/docs/GettingStartedVS.rst
  llvm/docs/ReleaseNotes.rst
  llvm/include/llvm/Support/Compiler.h

Index: llvm/include/llvm/Support/Compiler.h
===
--- llvm/include/llvm/Support/Compiler.h
+++ llvm/include/llvm/Support/Compiler.h
@@ -77,12 +77,21 @@
 /// * 1916: VS2017, version 15.9
 /// * 1920: VS2019, version 16.0
 /// * 1921: VS2019, version 16.1
+/// * 1922: VS2019, version 16.2
+/// * 1923: VS2019, version 16.3
+/// * 1924: VS2019, version 16.4
+/// * 1925: VS2019, version 16.5
+/// * 1926: VS2019, version 16.6
+/// * 1927: VS2019, version 16.7
+/// * 1928: VS2019, version 16.8 + 16.9
+/// * 1929: VS2019, version 16.10 + 16.11
+/// * 1930: VS2022, version 17.0
 #ifdef _MSC_VER
 #define LLVM_MSC_PREREQ(version) (_MSC_VER >= (version))
 
-// We require at least MSVC 2017.
-#if !LLVM_MSC_PREREQ(1910)
-#error LLVM requires at least MSVC 2017.
+// We require at least VS 2019.
+#if !LLVM_MSC_PREREQ(1920)
+#error LLVM requires at least VS 2019.
 #endif
 
 #else
@@ -94,12 +103,8 @@
 /// Sadly, this is separate from just rvalue reference support because GCC
 /// and MSVC implemented this later than everything else. This appears to be
 /// corrected in MSVC 2019 but not MSVC 2017.
-#if __has_feature(cxx_rvalue_references) || defined(__GNUC__) ||   \
-LLVM_MSC_PREREQ(1920)
+/// FIXME: Remove LLVM_HAS_RVALUE_REFERENCE_THIS macro
 #define LLVM_HAS_RVALUE_REFERENCE_THIS 1
-#else
-#define LLVM_HAS_RVALUE_REFERENCE_THIS 0
-#endif
 
 /// Expands to '&' if ref-qualifiers for *this are supported.
 ///
Index: llvm/docs/ReleaseNotes.rst
===
--- llvm/docs/ReleaseNotes.rst
+++ llvm/docs/ReleaseNotes.rst
@@ -65,7 +65,7 @@
 Changes to building LLVM
 
 
-* ...
+* Building LLVM with Visual Studio now requires version 2019 or later.
 
 Changes to TableGen
 ---
Index: llvm/docs/GettingStartedVS.rst
===
--- llvm/docs/GettingStartedVS.rst
+++ llvm/docs/GettingStartedVS.rst
@@ -36,7 +36,7 @@
 
 Hardware
 
-Any system that can adequately run Visual Studio 2017 is fine. The LLVM
+Any system that can adequately run Visual Studio 2019 is fine. The LLVM
 source tree including the git index consumes approximately 3GB.
 Object files, libraries and executables consume approximately 5GB in
 Release mode and much more in Debug mode. SSD drive and >16GB RAM are
@@ -45,13 +45,14 @@
 
 Software
 
-You will need `Visual Studio `_ 2017 or
-higher, with the latest Update installed. Visual Studio Community Edition
+You will need `Visual Studio `_ 2019 or
+later, with the latest Update installed. Visual Studio Community Edition
 suffices.
 
 You will also need the `CMake `_ build system since it
 generates the project files you will use to build with. CMake is bundled with
-Visual Studio 2019 so separate installation is not required.
+Visual Studio 2019 so separate installation is not required. If you do install
+CMake separately, Visual Studio 2022 will require CMake Version 3.21 or later.
 
 If you would like to run the LLVM tests you will need `Python
 `_. Version 3.6 and newer are known to work. You can
Index: llvm/docs/GettingStarted.rst
===
--- llvm/docs/GettingStarted.rst
+++ llvm/docs/GettingStarted.rst
@@ -238,7 +238,7 @@
 * Clang 3.5
 * Apple Clang 6.0
 * GCC 5.1
-* Visual Studio 2017
+* Visual Studio 2019
 
 Anything older than these toolchains *may* work, but will require forcing the
 build system with a special option and is not really a supported host platform.
@@ -273,8 +273,8 @@
 This section mostly applies to Linux and older BSDs. On macOS, you should
 have a sufficiently modern Xcode, or you will likely need to upgrade until you
 do. Windows does not have a "system compiler", so you must install either Visual
-Studio 2017 or a recent version of mingw64. FreeBSD 10.0 and newer have a modern
-Clang as the system compiler.
+Studio 2019 (or later), or a recent version of mingw64. FreeBSD 10.0 and newer
+have a modern Clang as the system compiler.
 
 However, some Linux distributions and some other or older BSDs sometimes have
 extremely old versions of GCC. These steps attempt to help you upgrade you
Index: llvm/docs/CMake.rst

[PATCH] D114639: Raise the minimum Visual Studio version to VS2019

2022-01-28 Thread Stella Stamenova via Phabricator via cfe-commits
stella.stamenova added inline comments.



Comment at: lldb/docs/resources/build.rst:296
 
-  $ cmake -G "Visual Studio 15 2017 Win64" -Thost=x64  
+  $ cmake -G "Visual Studio 16 2019" -A x64 -T host=x64 -Thost=x64  
 

You accidentally added `-T host=x64` twice now. It can be included with or 
without the space, but it's only needed once.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114639/new/

https://reviews.llvm.org/D114639

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D114639: Raise the minimum Visual Studio version to VS2019

2022-01-28 Thread Simon Pilgrim via Phabricator via cfe-commits
RKSimon updated this revision to Diff 403924.
RKSimon added a comment.

update lldb cmake command


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114639/new/

https://reviews.llvm.org/D114639

Files:
  clang/docs/ClangFormatStyleOptions.rst
  clang/docs/UsersManual.rst
  lldb/docs/resources/build.rst
  lldb/docs/resources/test.rst
  llvm/cmake/modules/CheckCompilerVersion.cmake
  llvm/docs/CMake.rst
  llvm/docs/GettingStarted.rst
  llvm/docs/GettingStartedVS.rst
  llvm/docs/ReleaseNotes.rst
  llvm/include/llvm/Support/Compiler.h

Index: llvm/include/llvm/Support/Compiler.h
===
--- llvm/include/llvm/Support/Compiler.h
+++ llvm/include/llvm/Support/Compiler.h
@@ -77,12 +77,21 @@
 /// * 1916: VS2017, version 15.9
 /// * 1920: VS2019, version 16.0
 /// * 1921: VS2019, version 16.1
+/// * 1922: VS2019, version 16.2
+/// * 1923: VS2019, version 16.3
+/// * 1924: VS2019, version 16.4
+/// * 1925: VS2019, version 16.5
+/// * 1926: VS2019, version 16.6
+/// * 1927: VS2019, version 16.7
+/// * 1928: VS2019, version 16.8 + 16.9
+/// * 1929: VS2019, version 16.10 + 16.11
+/// * 1930: VS2022, version 17.0
 #ifdef _MSC_VER
 #define LLVM_MSC_PREREQ(version) (_MSC_VER >= (version))
 
-// We require at least MSVC 2017.
-#if !LLVM_MSC_PREREQ(1910)
-#error LLVM requires at least MSVC 2017.
+// We require at least VS 2019.
+#if !LLVM_MSC_PREREQ(1920)
+#error LLVM requires at least VS 2019.
 #endif
 
 #else
@@ -94,12 +103,8 @@
 /// Sadly, this is separate from just rvalue reference support because GCC
 /// and MSVC implemented this later than everything else. This appears to be
 /// corrected in MSVC 2019 but not MSVC 2017.
-#if __has_feature(cxx_rvalue_references) || defined(__GNUC__) ||   \
-LLVM_MSC_PREREQ(1920)
+/// FIXME: Remove LLVM_HAS_RVALUE_REFERENCE_THIS macro
 #define LLVM_HAS_RVALUE_REFERENCE_THIS 1
-#else
-#define LLVM_HAS_RVALUE_REFERENCE_THIS 0
-#endif
 
 /// Expands to '&' if ref-qualifiers for *this are supported.
 ///
Index: llvm/docs/ReleaseNotes.rst
===
--- llvm/docs/ReleaseNotes.rst
+++ llvm/docs/ReleaseNotes.rst
@@ -65,7 +65,7 @@
 Changes to building LLVM
 
 
-* ...
+* Building LLVM with Visual Studio now requires version 2019 or later.
 
 Changes to TableGen
 ---
Index: llvm/docs/GettingStartedVS.rst
===
--- llvm/docs/GettingStartedVS.rst
+++ llvm/docs/GettingStartedVS.rst
@@ -36,7 +36,7 @@
 
 Hardware
 
-Any system that can adequately run Visual Studio 2017 is fine. The LLVM
+Any system that can adequately run Visual Studio 2019 is fine. The LLVM
 source tree including the git index consumes approximately 3GB.
 Object files, libraries and executables consume approximately 5GB in
 Release mode and much more in Debug mode. SSD drive and >16GB RAM are
@@ -45,13 +45,14 @@
 
 Software
 
-You will need `Visual Studio `_ 2017 or
-higher, with the latest Update installed. Visual Studio Community Edition
+You will need `Visual Studio `_ 2019 or
+later, with the latest Update installed. Visual Studio Community Edition
 suffices.
 
 You will also need the `CMake `_ build system since it
 generates the project files you will use to build with. CMake is bundled with
-Visual Studio 2019 so separate installation is not required.
+Visual Studio 2019 so separate installation is not required. If you do install
+CMake separately, Visual Studio 2022 will require CMake Version 3.21 or later.
 
 If you would like to run the LLVM tests you will need `Python
 `_. Version 3.6 and newer are known to work. You can
Index: llvm/docs/GettingStarted.rst
===
--- llvm/docs/GettingStarted.rst
+++ llvm/docs/GettingStarted.rst
@@ -238,7 +238,7 @@
 * Clang 3.5
 * Apple Clang 6.0
 * GCC 5.1
-* Visual Studio 2017
+* Visual Studio 2019
 
 Anything older than these toolchains *may* work, but will require forcing the
 build system with a special option and is not really a supported host platform.
@@ -273,8 +273,8 @@
 This section mostly applies to Linux and older BSDs. On macOS, you should
 have a sufficiently modern Xcode, or you will likely need to upgrade until you
 do. Windows does not have a "system compiler", so you must install either Visual
-Studio 2017 or a recent version of mingw64. FreeBSD 10.0 and newer have a modern
-Clang as the system compiler.
+Studio 2019 (or later), or a recent version of mingw64. FreeBSD 10.0 and newer
+have a modern Clang as the system compiler.
 
 However, some Linux distributions and some other or older BSDs sometimes have
 extremely old versions of GCC. These steps attempt to help you upgrade you
Index: 

[PATCH] D114639: Raise the minimum Visual Studio version to VS2019

2022-01-27 Thread Stella Stamenova via Phabricator via cfe-commits
stella.stamenova added inline comments.



Comment at: lldb/docs/resources/build.rst:296
 
-  $ cmake -G "Visual Studio 15 2017 Win64" -Thost=x64  
+  $ cmake -G "Visual Studio 16 2019 Win64" -Thost=x64  
 

This line should change a bit more. For VS2019, it also needs to include `-A 
64` like so: `cmake -G "Visual Studio 16 2019" -A x64 -T host=x64`.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114639/new/

https://reviews.llvm.org/D114639

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D114639: Raise the minimum Visual Studio version to VS2019

2022-01-27 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added a comment.
Herald added a subscriber: JDevlieghere.

In D114639#3273831 , @RKSimon wrote:

> In D114639#3273761 , 
> @stella.stamenova wrote:
>
>> Can we update the lldb instructions as part of this change to also point to 
>> VS2019? Alternatively, I can send a separate change for that.
>
> I'll add it to this patch - are people happy for me to get this in before the 
> 14.x branch?

I'm fine with that (we can always roll it back in the branch if it turns out to 
be a burden).


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114639/new/

https://reviews.llvm.org/D114639

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D114639: Raise the minimum Visual Studio version to VS2019

2022-01-27 Thread Simon Pilgrim via Phabricator via cfe-commits
RKSimon updated this revision to Diff 403574.
RKSimon added a comment.
Herald added a project: LLDB.
Herald added a subscriber: lldb-commits.

update lldb docs as well


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114639/new/

https://reviews.llvm.org/D114639

Files:
  clang/docs/ClangFormatStyleOptions.rst
  clang/docs/UsersManual.rst
  lldb/docs/resources/build.rst
  lldb/docs/resources/test.rst
  llvm/cmake/modules/CheckCompilerVersion.cmake
  llvm/docs/CMake.rst
  llvm/docs/GettingStarted.rst
  llvm/docs/GettingStartedVS.rst
  llvm/docs/ReleaseNotes.rst
  llvm/include/llvm/Support/Compiler.h

Index: llvm/include/llvm/Support/Compiler.h
===
--- llvm/include/llvm/Support/Compiler.h
+++ llvm/include/llvm/Support/Compiler.h
@@ -77,12 +77,21 @@
 /// * 1916: VS2017, version 15.9
 /// * 1920: VS2019, version 16.0
 /// * 1921: VS2019, version 16.1
+/// * 1922: VS2019, version 16.2
+/// * 1923: VS2019, version 16.3
+/// * 1924: VS2019, version 16.4
+/// * 1925: VS2019, version 16.5
+/// * 1926: VS2019, version 16.6
+/// * 1927: VS2019, version 16.7
+/// * 1928: VS2019, version 16.8 + 16.9
+/// * 1929: VS2019, version 16.10 + 16.11
+/// * 1930: VS2022, version 17.0
 #ifdef _MSC_VER
 #define LLVM_MSC_PREREQ(version) (_MSC_VER >= (version))
 
-// We require at least MSVC 2017.
-#if !LLVM_MSC_PREREQ(1910)
-#error LLVM requires at least MSVC 2017.
+// We require at least VS 2019.
+#if !LLVM_MSC_PREREQ(1920)
+#error LLVM requires at least VS 2019.
 #endif
 
 #else
@@ -94,12 +103,8 @@
 /// Sadly, this is separate from just rvalue reference support because GCC
 /// and MSVC implemented this later than everything else. This appears to be
 /// corrected in MSVC 2019 but not MSVC 2017.
-#if __has_feature(cxx_rvalue_references) || defined(__GNUC__) ||   \
-LLVM_MSC_PREREQ(1920)
+/// FIXME: Remove LLVM_HAS_RVALUE_REFERENCE_THIS macro
 #define LLVM_HAS_RVALUE_REFERENCE_THIS 1
-#else
-#define LLVM_HAS_RVALUE_REFERENCE_THIS 0
-#endif
 
 /// Expands to '&' if ref-qualifiers for *this are supported.
 ///
Index: llvm/docs/ReleaseNotes.rst
===
--- llvm/docs/ReleaseNotes.rst
+++ llvm/docs/ReleaseNotes.rst
@@ -65,7 +65,7 @@
 Changes to building LLVM
 
 
-* ...
+* Building LLVM with Visual Studio now requires version 2019 or later.
 
 Changes to TableGen
 ---
Index: llvm/docs/GettingStartedVS.rst
===
--- llvm/docs/GettingStartedVS.rst
+++ llvm/docs/GettingStartedVS.rst
@@ -36,7 +36,7 @@
 
 Hardware
 
-Any system that can adequately run Visual Studio 2017 is fine. The LLVM
+Any system that can adequately run Visual Studio 2019 is fine. The LLVM
 source tree including the git index consumes approximately 3GB.
 Object files, libraries and executables consume approximately 5GB in
 Release mode and much more in Debug mode. SSD drive and >16GB RAM are
@@ -45,13 +45,14 @@
 
 Software
 
-You will need `Visual Studio `_ 2017 or
-higher, with the latest Update installed. Visual Studio Community Edition
+You will need `Visual Studio `_ 2019 or
+later, with the latest Update installed. Visual Studio Community Edition
 suffices.
 
 You will also need the `CMake `_ build system since it
 generates the project files you will use to build with. CMake is bundled with
-Visual Studio 2019 so separate installation is not required.
+Visual Studio 2019 so separate installation is not required. If you do install
+CMake separately, Visual Studio 2022 will require CMake Version 3.21 or later.
 
 If you would like to run the LLVM tests you will need `Python
 `_. Version 3.6 and newer are known to work. You can
Index: llvm/docs/GettingStarted.rst
===
--- llvm/docs/GettingStarted.rst
+++ llvm/docs/GettingStarted.rst
@@ -238,7 +238,7 @@
 * Clang 3.5
 * Apple Clang 6.0
 * GCC 5.1
-* Visual Studio 2017
+* Visual Studio 2019
 
 Anything older than these toolchains *may* work, but will require forcing the
 build system with a special option and is not really a supported host platform.
@@ -273,8 +273,8 @@
 This section mostly applies to Linux and older BSDs. On macOS, you should
 have a sufficiently modern Xcode, or you will likely need to upgrade until you
 do. Windows does not have a "system compiler", so you must install either Visual
-Studio 2017 or a recent version of mingw64. FreeBSD 10.0 and newer have a modern
-Clang as the system compiler.
+Studio 2019 (or later), or a recent version of mingw64. FreeBSD 10.0 and newer
+have a modern Clang as the system compiler.
 
 However, some Linux distributions and some other or older BSDs sometimes have
 extremely old versions of 

[PATCH] D114639: Raise the minimum Visual Studio version to VS2019

2022-01-26 Thread Stella Stamenova via Phabricator via cfe-commits
stella.stamenova added a comment.

In D114639#3273831 , @RKSimon wrote:

> In D114639#3273761 , 
> @stella.stamenova wrote:
>
>> Can we update the lldb instructions as part of this change to also point to 
>> VS2019? Alternatively, I can send a separate change for that.
>
> I'll add it to this patch - are people happy for me to get this in before the 
> 14.x branch?

Sounds good to me.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114639/new/

https://reviews.llvm.org/D114639

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D114639: Raise the minimum Visual Studio version to VS2019

2022-01-26 Thread Simon Pilgrim via Phabricator via cfe-commits
RKSimon added a comment.

In D114639#3273761 , 
@stella.stamenova wrote:

> Can we update the lldb instructions as part of this change to also point to 
> VS2019? Alternatively, I can send a separate change for that.

I'll add it to this patch - are people happy for me to get this in before the 
14.x branch?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114639/new/

https://reviews.llvm.org/D114639

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D114639: Raise the minimum Visual Studio version to VS2019

2022-01-26 Thread Stella Stamenova via Phabricator via cfe-commits
stella.stamenova added a comment.

Can we update the lldb instructions as part of this change to also point to 
VS2019? Alternatively, I can send a separate change for that.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114639/new/

https://reviews.llvm.org/D114639

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D114639: Raise the minimum Visual Studio version to VS2019

2022-01-10 Thread Vitaly Buka via Phabricator via cfe-commits
vitalybuka added a comment.

>> https://lab.llvm.org/buildbot/#/builders/sanitizer-windows
>> https://lab.llvm.org/buildbot/#/builders/clang-x64-windows-msvc

Actually these were already on VS2019, version 16.8, so I only updated them 
both to 16.11.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114639/new/

https://reviews.llvm.org/D114639

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D114639: Raise the minimum Visual Studio version to VS2019

2022-01-07 Thread Vitaly Buka via Phabricator via cfe-commits
vitalybuka added a comment.

In D114639#3228704 , @rnk wrote:

> In D114639#3199458 , @RKSimon wrote:
>
>> @rnk I'm not certain but I think the only buildbot still using VS2017 is 
>> windows-gcebot2 ?
>
> Yes, it probably uses VS2017, and probably also the sanitizer-windows bot as 
> well:
> https://lab.llvm.org/buildbot/#/builders/sanitizer-windows
> https://lab.llvm.org/buildbot/#/builders/clang-x64-windows-msvc
>
> I'm going to delegate this task, so give me some time to get to it.

Would you like me to do that?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114639/new/

https://reviews.llvm.org/D114639

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D114639: Raise the minimum Visual Studio version to VS2019

2022-01-07 Thread Reid Kleckner via Phabricator via cfe-commits
rnk added a comment.

In D114639#3199458 , @RKSimon wrote:

> @rnk I'm not certain but I think the only buildbot still using VS2017 is 
> windows-gcebot2 ?

Yes, it probably uses VS2017, and probably also the sanitizer-windows bot as 
well:
https://lab.llvm.org/buildbot/#/builders/sanitizer-windows
https://lab.llvm.org/buildbot/#/builders/clang-x64-windows-msvc

I'm going to delegate this task, so give me some time to get to it.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114639/new/

https://reviews.llvm.org/D114639

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D114639: Raise the minimum Visual Studio version to VS2019

2021-12-17 Thread Simon Pilgrim via Phabricator via cfe-commits
RKSimon added a comment.

@rnk I'm not certain but I think the only buildbot still using VS2017 is 
windows-gcebot2 ?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114639/new/

https://reviews.llvm.org/D114639

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D114639: Raise the minimum Visual Studio version to VS2019

2021-12-16 Thread Stella Stamenova via Phabricator via cfe-commits
stella.stamenova added a comment.

In D114639#3192823 , 
@stella.stamenova wrote:

> In D114639#3191752 , @RKSimon wrote:
>
>> @rnk @stella.stamenova How long do you think it will be before you can 
>> update your buildbots to VS2019 or VS2022 please?
>
> The mlir buildbot was updated already. The lldb buildbot will be done this 
> week - there's a test change that needs to happen in lldb before we can 
> update the buildbot. I'll let you know once it's done.

I am declaring victory for both the mlir and lldb buildbots.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114639/new/

https://reviews.llvm.org/D114639

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D114639: Raise the minimum Visual Studio version to VS2019

2021-12-14 Thread Stella Stamenova via Phabricator via cfe-commits
stella.stamenova added a comment.

In D114639#3191752 , @RKSimon wrote:

> @rnk @stella.stamenova How long do you think it will be before you can update 
> your buildbots to VS2019 or VS2022 please?

The mlir buildbot was updated already. The lldb buildbot will be done this week 
- there's a test change that needs to happen in lldb before we can update the 
buildbot. I'll let you know once it's done.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114639/new/

https://reviews.llvm.org/D114639

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D114639: Raise the minimum Visual Studio version to VS2019

2021-12-14 Thread Simon Pilgrim via Phabricator via cfe-commits
RKSimon added a comment.

@rnk @stella.stamenova How long do you think it will be before you can update 
your buildbots to VS2019 or VS2022 please?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114639/new/

https://reviews.llvm.org/D114639

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D114639: Raise the minimum Visual Studio version to VS2019

2021-12-10 Thread Erich Keane via Phabricator via cfe-commits
erichkeane added a comment.

In D114639#3183244 , @Meinersbur 
wrote:

> ping?
>
> @erichkeane Since you are pushing for upgrade the gcc/clang requirement as 
> well, would you take care of that?

I was looking into the patch to do so, but I don't have a good idea what I 
should update the GCC/Clang/AppleClang requirements TO.  I thought I saw 
someone at one point suggest GCC6/clang6, but I can't find that anymore, did I 
just imagine it?

I presume any such patch would have similar issues with buildbots unfortunately.

That said;
My understanding is that updating the GCC/Clang minimum versions requires 
altering our 'minimum platform' significantly (since you cannot ship a 
dynamically linked version of clang to a system with an older stdlibc++ version 
than you built it with), and thus would be more controversial than this patch 
(where updating the C++ runtime version on a system is a much lower barrier to 
run).

Because of that, and because my concern on the RFC seems to be mine alone, I 
see no reason to have my concerns 'block' this patch as it is. Additionally, 
since the RFC to move us to C++17 didn't seem to gain any traction, I'd presume 
the appetite for changing the linux/apple toolchain doesn't seem to be there.

TL;DR: Don't block this on my concerns.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114639/new/

https://reviews.llvm.org/D114639

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D114639: Raise the minimum Visual Studio version to VS2019

2021-12-09 Thread Vitaly Buka via Phabricator via cfe-commits
vitalybuka added a comment.

> I still don't see a need for them to be updated in lock step, especially for 
> Visual Studio which tends to be quite different from other toolchains, but I 
> can see the use of the bumps occurring within the same release version of 
> llvm if its feasible.

It's better to be in separate patches.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114639/new/

https://reviews.llvm.org/D114639

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D114639: Raise the minimum Visual Studio version to VS2019

2021-12-09 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur added a comment.

ping?

@erichkeane Since you are pushing for upgrade the gcc/clang requirement as 
well, would you take care of that?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114639/new/

https://reviews.llvm.org/D114639

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D114639: Raise the minimum Visual Studio version to VS2019

2021-11-30 Thread Simon Pilgrim via Phabricator via cfe-commits
RKSimon added a comment.

In D114639#3162157 , @mehdi_amini 
wrote:

> In D114639#3162141 , @erichkeane 
> wrote:
>
>>> Right, but last time we did the motivation was specifically to get to 
>>> c++14, while here the motivation is to drop an old MSVC according to the 
>>> MSVC-specific support we intend to provide.
>>
>> My memory is that that was _A_ motivation, not the only one.  There were 
>> quite a few GCC bugs that we were getting away from as well that was my 
>> primary justification for pushing it at the time, though the C++14 
>> motivation was ALSO tempting/appreciated.
>
> I'm fairly sure that at least JF who pushed for it was motivated by C++14, 
> here is the RFC: 
> https://lists.llvm.org/pipermail/llvm-dev/2019-January/129452.html
> The update of toolchain has always historically been measured by the amount 
> of features we get from the update, in particular while compilers were 
> getting support for new standard feature during C++11 adoption it was really 
> a game of matching the various compiler, looks at potential updates and what 
> this would enable. Though I agree that we're somehow frequently working 
> around issues specific to gcc-5 (I'd say my gcc-5.4 bot breaks once a week on 
> average), and migrating from old toolchains can have value on its own.

I'd be happy to coordinate with others if they can create patches for the 
respective compiler bumps, but my ability to test the many permutations of 
linux distros + gcc is quite limited (currently x64 ubuntu 18.04 desktop + 
ubuntu 20.04 wsl2) and I don't use apple hardware at all.

I still don't see a need for them to be updated in lock step, especially for 
Visual Studio which tends to be quite different from other toolchains, but I 
can see the use of the bumps occurring within the same release version of llvm 
if its feasible.

If we aimed to bump gcc/clang as well, would we still be in a position to get 
this done in plenty of time for the next release branch? I have fears that some 
buildbots often take many months to be updated.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114639/new/

https://reviews.llvm.org/D114639

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D114639: Raise the minimum Visual Studio version to VS2019

2021-11-30 Thread Simon Pilgrim via Phabricator via cfe-commits
RKSimon updated this revision to Diff 390824.
RKSimon edited the summary of this revision.
RKSimon added a comment.

Changed cmake example back to VS2019

Added note for minimum cmake version necessary for VS2022

Updated the soft version limit to: _MSC_VER == 1927 MSVC++ 14.27 Visual Studio 
2019 Version 16.7


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114639/new/

https://reviews.llvm.org/D114639

Files:
  clang/docs/ClangFormatStyleOptions.rst
  clang/docs/UsersManual.rst
  llvm/cmake/modules/CheckCompilerVersion.cmake
  llvm/docs/CMake.rst
  llvm/docs/GettingStarted.rst
  llvm/docs/GettingStartedVS.rst
  llvm/docs/ReleaseNotes.rst
  llvm/include/llvm/Support/Compiler.h

Index: llvm/include/llvm/Support/Compiler.h
===
--- llvm/include/llvm/Support/Compiler.h
+++ llvm/include/llvm/Support/Compiler.h
@@ -80,12 +80,21 @@
 /// * 1916: VS2017, version 15.9
 /// * 1920: VS2019, version 16.0
 /// * 1921: VS2019, version 16.1
+/// * 1922: VS2019, version 16.2
+/// * 1923: VS2019, version 16.3
+/// * 1924: VS2019, version 16.4
+/// * 1925: VS2019, version 16.5
+/// * 1926: VS2019, version 16.6
+/// * 1927: VS2019, version 16.7
+/// * 1928: VS2019, version 16.8 + 16.9
+/// * 1929: VS2019, version 16.10 + 16.11
+/// * 1930: VS2022, version 17.0
 #ifdef _MSC_VER
 #define LLVM_MSC_PREREQ(version) (_MSC_VER >= (version))
 
-// We require at least MSVC 2017.
-#if !LLVM_MSC_PREREQ(1910)
-#error LLVM requires at least MSVC 2017.
+// We require at least VS 2019.
+#if !LLVM_MSC_PREREQ(1920)
+#error LLVM requires at least VS 2019.
 #endif
 
 #else
@@ -97,12 +106,8 @@
 /// Sadly, this is separate from just rvalue reference support because GCC
 /// and MSVC implemented this later than everything else. This appears to be
 /// corrected in MSVC 2019 but not MSVC 2017.
-#if __has_feature(cxx_rvalue_references) || defined(__GNUC__) ||   \
-LLVM_MSC_PREREQ(1920)
+/// FIXME: Remove LLVM_HAS_RVALUE_REFERENCE_THIS macro
 #define LLVM_HAS_RVALUE_REFERENCE_THIS 1
-#else
-#define LLVM_HAS_RVALUE_REFERENCE_THIS 0
-#endif
 
 /// Expands to '&' if ref-qualifiers for *this are supported.
 ///
Index: llvm/docs/ReleaseNotes.rst
===
--- llvm/docs/ReleaseNotes.rst
+++ llvm/docs/ReleaseNotes.rst
@@ -65,7 +65,7 @@
 Changes to building LLVM
 
 
-* ...
+* Building LLVM with Visual Studio now requires version 2019 or later.
 
 Changes to TableGen
 ---
Index: llvm/docs/GettingStartedVS.rst
===
--- llvm/docs/GettingStartedVS.rst
+++ llvm/docs/GettingStartedVS.rst
@@ -36,7 +36,7 @@
 
 Hardware
 
-Any system that can adequately run Visual Studio 2017 is fine. The LLVM
+Any system that can adequately run Visual Studio 2019 is fine. The LLVM
 source tree including the git index consumes approximately 3GB.
 Object files, libraries and executables consume approximately 5GB in
 Release mode and much more in Debug mode. SSD drive and >16GB RAM are
@@ -45,13 +45,14 @@
 
 Software
 
-You will need `Visual Studio `_ 2017 or
-higher, with the latest Update installed. Visual Studio Community Edition
+You will need `Visual Studio `_ 2019 or
+later, with the latest Update installed. Visual Studio Community Edition
 suffices.
 
 You will also need the `CMake `_ build system since it
 generates the project files you will use to build with. CMake is bundled with
-Visual Studio 2019 so separate installation is not required.
+Visual Studio 2019 so separate installation is not required. If you do install
+CMake separately, Visual Studio 2022 will require CMake Version 3.21 or later.
 
 If you would like to run the LLVM tests you will need `Python
 `_. Version 3.6 and newer are known to work. You can
Index: llvm/docs/GettingStarted.rst
===
--- llvm/docs/GettingStarted.rst
+++ llvm/docs/GettingStarted.rst
@@ -238,7 +238,7 @@
 * Clang 3.5
 * Apple Clang 6.0
 * GCC 5.1
-* Visual Studio 2017
+* Visual Studio 2019
 
 Anything older than these toolchains *may* work, but will require forcing the
 build system with a special option and is not really a supported host platform.
@@ -273,8 +273,8 @@
 This section mostly applies to Linux and older BSDs. On macOS, you should
 have a sufficiently modern Xcode, or you will likely need to upgrade until you
 do. Windows does not have a "system compiler", so you must install either Visual
-Studio 2017 or a recent version of mingw64. FreeBSD 10.0 and newer have a modern
-Clang as the system compiler.
+Studio 2019 (or later), or a recent version of mingw64. FreeBSD 10.0 and newer
+have a modern Clang as the system compiler.
 
 However, some Linux 

[PATCH] D114639: Raise the minimum Visual Studio version to VS2019

2021-11-30 Thread Erich Keane via Phabricator via cfe-commits
erichkeane added a comment.

In D114639#3162157 , @mehdi_amini 
wrote:

> In D114639#3162141 , @erichkeane 
> wrote:
>
>>> Right, but last time we did the motivation was specifically to get to 
>>> c++14, while here the motivation is to drop an old MSVC according to the 
>>> MSVC-specific support we intend to provide.
>>
>> My memory is that that was _A_ motivation, not the only one.  There were 
>> quite a few GCC bugs that we were getting away from as well that was my 
>> primary justification for pushing it at the time, though the C++14 
>> motivation was ALSO tempting/appreciated.
>
> I'm fairly sure that at least JF who pushed for it was motivated by C++14, 
> here is the RFC: 
> https://lists.llvm.org/pipermail/llvm-dev/2019-January/129452.html
> The update of toolchain has always historically been measured by the amount 
> of features we get from the update, in particular while compilers were 
> getting support for new standard feature during C++11 adoption it was really 
> a game of matching the various compiler, looks at potential updates and what 
> this would enable. Though I agree that we're somehow frequently working 
> around issues specific to gcc-5 (I'd say my gcc-5.4 bot breaks once a week on 
> average), and migrating from old toolchains can have value on its own.

Note that the above link was the LAST RFC, after JF and I had spent about 8 
months trying to update, part of which required 
https://reviews.llvm.org/rG6e69db5a2dfe8cf4658654714c506422e31a19a2 to happen. 
At least in our private discussions, JF stated frustration at working around 
old Clang bugs.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114639/new/

https://reviews.llvm.org/D114639

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D114639: Raise the minimum Visual Studio version to VS2019

2021-11-30 Thread Mehdi AMINI via Phabricator via cfe-commits
mehdi_amini added a comment.

In D114639#3162141 , @erichkeane 
wrote:

>> Right, but last time we did the motivation was specifically to get to c++14, 
>> while here the motivation is to drop an old MSVC according to the 
>> MSVC-specific support we intend to provide.
>
> My memory is that that was _A_ motivation, not the only one.  There were 
> quite a few GCC bugs that we were getting away from as well that was my 
> primary justification for pushing it at the time, though the C++14 motivation 
> was ALSO tempting/appreciated.

I'm fairly sure that at least JF who pushed for it was motivated by C++14, here 
is the RFC: https://lists.llvm.org/pipermail/llvm-dev/2019-January/129452.html
The update of toolchain has always historically been measured by the amount of 
features we get from the update, in particular while compilers were getting 
support for new standard feature during C++11 adoption it was really a game of 
matching the various compiler, looks at potential updates and what this would 
enable. Though I agree that we're somehow frequently working around issues 
specific to gcc-5 (I'd say my gcc-5.4 bot breaks once a week on average), and 
migrating from old toolchains can have value on its own.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114639/new/

https://reviews.llvm.org/D114639

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D114639: Raise the minimum Visual Studio version to VS2019

2021-11-30 Thread Erich Keane via Phabricator via cfe-commits
erichkeane added a comment.

In D114639#3162133 , @mehdi_amini 
wrote:

> In D114639#3162069 , @erichkeane 
> wrote:
>
>> In D114639#3162032 , @RKSimon 
>> wrote:
>>
>>> In D114639#3162000 , @mehdi_amini 
>>> wrote:
>>>
 In D114639#3161303 , @erichkeane 
 wrote:

> IMO, if we're updating the MSVC versions, we should do the same for the 
> GCC/Clang/AppleClang versions too.  For example, GCC 5.1 is from 2015, 
> and Clang 3.5 is from 2014.

 We've always handled MSVC update separately I believe, we can't just take 
 the "last two version of MSVC" guideline and update every compiler each 
 time.
>>
>> My understanding is this would only be the ~3rd time we've done this.  The 
>> last time we did this, we did them all together.
>
> Right, but last time we did the motivation was specifically to get to c++14, 
> while here the motivation is to drop an old MSVC according to the 
> MSVC-specific support we intend to provide.

My memory is that that was _A_ motivation, not the only one.  There were quite 
a few GCC bugs that we were getting away from as well that was my primary 
justification for pushing it at the time, though the C++14 motivation was ALSO 
tempting/appreciated.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114639/new/

https://reviews.llvm.org/D114639

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D114639: Raise the minimum Visual Studio version to VS2019

2021-11-30 Thread Mehdi AMINI via Phabricator via cfe-commits
mehdi_amini added a comment.

In D114639#3162069 , @erichkeane 
wrote:

> In D114639#3162032 , @RKSimon wrote:
>
>> In D114639#3162000 , @mehdi_amini 
>> wrote:
>>
>>> In D114639#3161303 , @erichkeane 
>>> wrote:
>>>
 IMO, if we're updating the MSVC versions, we should do the same for the 
 GCC/Clang/AppleClang versions too.  For example, GCC 5.1 is from 2015, and 
 Clang 3.5 is from 2014.
>>>
>>> We've always handled MSVC update separately I believe, we can't just take 
>>> the "last two version of MSVC" guideline and update every compiler each 
>>> time.
>
> My understanding is this would only be the ~3rd time we've done this.  The 
> last time we did this, we did them all together.

Right, but last time we did the motivation was specifically to get to c++14, 
while here the motivation is to drop an old MSVC according to the MSVC-specific 
support we intend to provide.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114639/new/

https://reviews.llvm.org/D114639

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D114639: Raise the minimum Visual Studio version to VS2019

2021-11-30 Thread Erich Keane via Phabricator via cfe-commits
erichkeane added a subscriber: jfb.
erichkeane added a comment.

In D114639#3162032 , @RKSimon wrote:

> In D114639#3162000 , @mehdi_amini 
> wrote:
>
>> In D114639#3161303 , @erichkeane 
>> wrote:
>>
>>> IMO, if we're updating the MSVC versions, we should do the same for the 
>>> GCC/Clang/AppleClang versions too.  For example, GCC 5.1 is from 2015, and 
>>> Clang 3.5 is from 2014.
>>
>> We've always handled MSVC update separately I believe, we can't just take 
>> the "last two version of MSVC" guideline and update every compiler each time.

My understanding is this would only be the ~3rd time we've done this.  The last 
time we did this, we did them all together.

>> (I'm not against updating our toolchain to support c++17, but that's 
>> orthogonal to the MSVC-specific update)
>
> I recently started a C++17 conversation here, but I agree its orthogonal to 
> the VS version bump: 
> https://lists.llvm.org/pipermail/llvm-dev/2021-November/153882.html

I also am not particularly 'interested' in the C++17 conversation here.  My 
bigger concern is that the last time we did the version bumps (which @jfb and I 
lead), there was significant interest to minimize the changes to the toolchains 
across platforms, which was a significant motivator to change them all at once 
the last time. If there is sufficient justification here to update based on the 
'last 2 releases', I'd strongly suspect/believe there are similar 
justifications for the other two, of which C++17 is just one.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114639/new/

https://reviews.llvm.org/D114639

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D114639: Raise the minimum Visual Studio version to VS2019

2021-11-30 Thread Simon Pilgrim via Phabricator via cfe-commits
RKSimon added a comment.

In D114639#3162000 , @mehdi_amini 
wrote:

> In D114639#3161303 , @erichkeane 
> wrote:
>
>> IMO, if we're updating the MSVC versions, we should do the same for the 
>> GCC/Clang/AppleClang versions too.  For example, GCC 5.1 is from 2015, and 
>> Clang 3.5 is from 2014.
>
> We've always handled MSVC update separately I believe, we can't just take the 
> "last two version of MSVC" guideline and update every compiler each time.
> (I'm not against updating our toolchain to support c++17, but that's 
> orthogonal to the MSVC-specific update)

I recently started a C++17 conversation here, but I agree its orthogonal to the 
VS version bump: 
https://lists.llvm.org/pipermail/llvm-dev/2021-November/153882.html


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114639/new/

https://reviews.llvm.org/D114639

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D114639: Raise the minimum Visual Studio version to VS2019

2021-11-30 Thread Mehdi AMINI via Phabricator via cfe-commits
mehdi_amini added a comment.

In D114639#3161303 , @erichkeane 
wrote:

> IMO, if we're updating the MSVC versions, we should do the same for the 
> GCC/Clang/AppleClang versions too.  For example, GCC 5.1 is from 2015, and 
> Clang 3.5 is from 2014.

We've always handled MSVC update separately I believe, we can't just take the 
"last two version of MSVC" guideline and update every compiler each time.
(I'm not against updating our toolchain to support c++17, but that's orthogonal 
to the MSVC-specific update)


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114639/new/

https://reviews.llvm.org/D114639

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D114639: Raise the minimum Visual Studio version to VS2019

2021-11-30 Thread Erich Keane via Phabricator via cfe-commits
erichkeane added a comment.

See: https://lists.llvm.org/pipermail/llvm-dev/2021-November/153882.html for 
what I was thinking of.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114639/new/

https://reviews.llvm.org/D114639

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D114639: Raise the minimum Visual Studio version to VS2019

2021-11-30 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added a comment.

In D114639#3161440 , @erichkeane 
wrote:

> In D114639#3161362 , @aaron.ballman 
> wrote:
>
>> In D114639#3161303 , @erichkeane 
>> wrote:
>>
>>> IMO, if we're updating the MSVC versions, we should do the same for the 
>>> GCC/Clang/AppleClang versions too.  For example, GCC 5.1 is from 2015, and 
>>> Clang 3.5 is from 2014.
>>
>> I'd be in favor of that; we could even see if we're ready to allow C++17 in 
>> the code base (which would be a pretty nice win for if init statements 
>> alone). However, it's also a bit orthogonal to this particular patch. Do you 
>> (or someone else) want to start an RFC?
>
> I believe the C++17 RFC was already on LLVM-dev last I saw?

Ah, I had missed that, thanks!

> That said, I commented because we typically try to update the 'minimum 
> versions' in lockstep best we can.  Bumping these versions is particularly 
> arduous, so I'd be against trying to do it piece-meal like this, particularly 
> as we're updating the NEWEST requirement (that is, VS2017 is newer than Clang 
> 3.5/GCC5.1!).

Fair point, thanks!


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114639/new/

https://reviews.llvm.org/D114639

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D114639: Raise the minimum Visual Studio version to VS2019

2021-11-30 Thread Erich Keane via Phabricator via cfe-commits
erichkeane added a comment.

In D114639#3161362 , @aaron.ballman 
wrote:

> In D114639#3161303 , @erichkeane 
> wrote:
>
>> IMO, if we're updating the MSVC versions, we should do the same for the 
>> GCC/Clang/AppleClang versions too.  For example, GCC 5.1 is from 2015, and 
>> Clang 3.5 is from 2014.
>
> I'd be in favor of that; we could even see if we're ready to allow C++17 in 
> the code base (which would be a pretty nice win for if init statements 
> alone). However, it's also a bit orthogonal to this particular patch. Do you 
> (or someone else) want to start an RFC?

I believe the C++17 RFC was already on LLVM-dev last I saw?

That said, I commented because we typically try to update the 'minimum 
versions' in lockstep best we can.  Bumping these versions is particularly 
arduous, so I'd be against trying to do it piece-meal like this, particularly 
as we're updating the NEWEST requirement (that is, VS2017 is newer than Clang 
3.5/GCC5.1!).

Also note that we have a 'policy' for bumping versions: 
https://llvm.org/docs/DeveloperPolicy.html#toolchain

(From the looks of it, I think we ARE following the policy, but others should 
take a look).


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114639/new/

https://reviews.llvm.org/D114639

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D114639: Raise the minimum Visual Studio version to VS2019

2021-11-30 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added a comment.

In D114639#3161303 , @erichkeane 
wrote:

> IMO, if we're updating the MSVC versions, we should do the same for the 
> GCC/Clang/AppleClang versions too.  For example, GCC 5.1 is from 2015, and 
> Clang 3.5 is from 2014.

I'd be in favor of that; we could even see if we're ready to allow C++17 in the 
code base (which would be a pretty nice win for if init statements alone). 
However, it's also a bit orthogonal to this particular patch. Do you (or 
someone else) want to start an RFC?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114639/new/

https://reviews.llvm.org/D114639

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D114639: Raise the minimum Visual Studio version to VS2019

2021-11-30 Thread Erich Keane via Phabricator via cfe-commits
erichkeane added a comment.

IMO, if we're updating the MSVC versions, we should do the same for the 
GCC/Clang/AppleClang versions too.  For example, GCC 5.1 is from 2015, and 
Clang 3.5 is from 2014.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114639/new/

https://reviews.llvm.org/D114639

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D114639: Raise the minimum Visual Studio version to VS2019

2021-11-30 Thread Simon Pilgrim via Phabricator via cfe-commits
RKSimon added a comment.

Thanks - I think all the MSVC bot admins are now on this patch, so I can avoid 
writing yet another email!


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114639/new/

https://reviews.llvm.org/D114639

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D114639: Raise the minimum Visual Studio version to VS2019

2021-11-30 Thread James Henderson via Phabricator via cfe-commits
jhenderson added a comment.

Re. the bots: I'd hope we'd have at least some bots using VS2019 rather than 
all rushing to VS2022. There's nothing worse than claiming to support a minimum 
version of something and then not actually supporting it...! Also internally, 
we are switching to a default of VS2019, not direct to VS2022, so having 
upstream coverage there would be useful to avoid downstream breakages that are 
actually upstream problems - we're working on adding our own Windows build bot, 
but I don't think it's there yet.




Comment at: clang/docs/UsersManual.rst:3546
 
-cmake -G"Visual Studio 15 2017" -T LLVM ..
+cmake -G"Visual Studio 17 2022" -T LLVM ..
 

stella.stamenova wrote:
> compnerd wrote:
> > Meinersbur wrote:
> > > jhenderson wrote:
> > > > RKSimon wrote:
> > > > > aaron.ballman wrote:
> > > > > > jhenderson wrote:
> > > > > > > I think the missing space should be fixed to :)
> > > > > > +1 to the missing space.
> > > > > This one is confusing - it isn't in my local diff, the raw diff, or 
> > > > > if I reapply the raw diff - it looks to have just appeared when you 
> > > > > quote it in phab comments?
> > > > The fact that the space is missing? It's missing in the current repo 
> > > > too.
> > > It works with and without the space, like `-GNinja` and `-G Ninja` both 
> > > work.
> > It would be nice to mention the CMake minimum version.  I think that you 
> > need 3.22 or newer for the 2022 generator/toolset definition.
> It works with or without the space, but it reads better with the space.
We should probably drop the space issue: I noticed further down that it doesn't 
have a space in either for e.g. Ninja. Don't mind either way though.



Comment at: clang/docs/UsersManual.rst:3546
 
-cmake -G"Visual Studio 15 2017" -T LLVM ..
+cmake -G"Visual Studio 16 2019" -T LLVM ..
 

stella.stamenova wrote:
> jhenderson wrote:
> > Maybe make this VS2022 instead, to help it last longer?
> I think it makes more sense to make it 2019 because I expect most people to 
> still be using 2019 and it's convenient to have instructions that just work. 
> Maybe add both?
No objections either way.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114639/new/

https://reviews.llvm.org/D114639

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D114639: Raise the minimum Visual Studio version to VS2019

2021-11-29 Thread Stella Stamenova via Phabricator via cfe-commits
stella.stamenova added a comment.

In D114639#3160031 , @mehdi_amini 
wrote:

> In D114639#3158401 , @RKSimon wrote:
>
>>> Have you checked whether there are any bots in the lab that will need to be 
>>> updated?
>>
>> I did find a number of bots that I think need addressing, I am intending to 
>> privately email the owners but I haven't done that yet - @rnk maintains the 
>> sanitizer-windows and windows-gcebot2 machines, but there are others.
>
> This bot as well: https://lab.llvm.org/buildbot/#/builders/13 ; adding 
> @stella.stamenova here.

The mlir and lldb windows bots will both need to be updated to 2019/2022. We 
haven't been building with 2022, so I am not sure how stable the builds will be 
if we moved to it (though I hope it just works). We can plan to update both 
bots to use 2019/2022 this week before our whole teams goes on vacation.




Comment at: clang/docs/UsersManual.rst:3546
 
-cmake -G"Visual Studio 15 2017" -T LLVM ..
+cmake -G"Visual Studio 17 2022" -T LLVM ..
 

compnerd wrote:
> Meinersbur wrote:
> > jhenderson wrote:
> > > RKSimon wrote:
> > > > aaron.ballman wrote:
> > > > > jhenderson wrote:
> > > > > > I think the missing space should be fixed to :)
> > > > > +1 to the missing space.
> > > > This one is confusing - it isn't in my local diff, the raw diff, or if 
> > > > I reapply the raw diff - it looks to have just appeared when you quote 
> > > > it in phab comments?
> > > The fact that the space is missing? It's missing in the current repo too.
> > It works with and without the space, like `-GNinja` and `-G Ninja` both 
> > work.
> It would be nice to mention the CMake minimum version.  I think that you need 
> 3.22 or newer for the 2022 generator/toolset definition.
It works with or without the space, but it reads better with the space.



Comment at: clang/docs/UsersManual.rst:3546
 
-cmake -G"Visual Studio 15 2017" -T LLVM ..
+cmake -G"Visual Studio 16 2019" -T LLVM ..
 

jhenderson wrote:
> Maybe make this VS2022 instead, to help it last longer?
I think it makes more sense to make it 2019 because I expect most people to 
still be using 2019 and it's convenient to have instructions that just work. 
Maybe add both?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114639/new/

https://reviews.llvm.org/D114639

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D114639: Raise the minimum Visual Studio version to VS2019

2021-11-29 Thread Mehdi AMINI via Phabricator via cfe-commits
mehdi_amini added a comment.

In D114639#3158401 , @RKSimon wrote:

>> Have you checked whether there are any bots in the lab that will need to be 
>> updated?
>
> I did find a number of bots that I think need addressing, I am intending to 
> privately email the owners but I haven't done that yet - @rnk maintains the 
> sanitizer-windows and windows-gcebot2 machines, but there are others.

This bot as well: https://lab.llvm.org/buildbot/#/builders/13 ; adding 
@stella.stamenova here.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114639/new/

https://reviews.llvm.org/D114639

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D114639: Raise the minimum Visual Studio version to VS2019

2021-11-29 Thread Saleem Abdulrasool via Phabricator via cfe-commits
compnerd added inline comments.



Comment at: clang/docs/UsersManual.rst:3546
 
-cmake -G"Visual Studio 15 2017" -T LLVM ..
+cmake -G"Visual Studio 17 2022" -T LLVM ..
 

Meinersbur wrote:
> jhenderson wrote:
> > RKSimon wrote:
> > > aaron.ballman wrote:
> > > > jhenderson wrote:
> > > > > I think the missing space should be fixed to :)
> > > > +1 to the missing space.
> > > This one is confusing - it isn't in my local diff, the raw diff, or if I 
> > > reapply the raw diff - it looks to have just appeared when you quote it 
> > > in phab comments?
> > The fact that the space is missing? It's missing in the current repo too.
> It works with and without the space, like `-GNinja` and `-G Ninja` both work.
It would be nice to mention the CMake minimum version.  I think that you need 
3.22 or newer for the 2022 generator/toolset definition.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114639/new/

https://reviews.llvm.org/D114639

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D114639: Raise the minimum Visual Studio version to VS2019

2021-11-29 Thread Michael Kruse via Phabricator via cfe-commits
Meinersbur added inline comments.



Comment at: clang/docs/UsersManual.rst:3546
 
-cmake -G"Visual Studio 15 2017" -T LLVM ..
+cmake -G"Visual Studio 17 2022" -T LLVM ..
 

jhenderson wrote:
> RKSimon wrote:
> > aaron.ballman wrote:
> > > jhenderson wrote:
> > > > I think the missing space should be fixed to :)
> > > +1 to the missing space.
> > This one is confusing - it isn't in my local diff, the raw diff, or if I 
> > reapply the raw diff - it looks to have just appeared when you quote it in 
> > phab comments?
> The fact that the space is missing? It's missing in the current repo too.
It works with and without the space, like `-GNinja` and `-G Ninja` both work.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114639/new/

https://reviews.llvm.org/D114639

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D114639: Raise the minimum Visual Studio version to VS2019

2021-11-29 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added a comment.

In D114639#3158401 , @RKSimon wrote:

>> Have you checked whether there are any bots in the lab that will need to be 
>> updated?
>
> I did find a number of bots that I think need addressing, I am intending to 
> privately email the owners but I haven't done that yet - @rnk maintains the 
> sanitizer-windows and windows-gcebot2 machines, but there are others.

Thanks! I think we'll need the bot situation sorted out before we land this, 
otherwise we'll have bots red and failing to report newly introduced 
regressions from other patches. (Hopefully we'll replace the bots with ones 
that test newer VS configurations rather than lose the coverage entirely.)




Comment at: llvm/cmake/modules/CheckCompilerVersion.cmake:17-18
+# _MSC_VER == 1929 MSVC++ 14.29 Visual Studio 2019 Version 16.10 & 16.11
+set(MSVC_MIN 19.20)
+set(MSVC_SOFT_ERROR 19.29)
 

RKSimon wrote:
> aaron.ballman wrote:
> > I'm a bit less certain that this is reasonable. 16.11.0 is from August 
> > 2021, which seems incredibly new for giving soft errors on.
> Our docs do say the latest update of the compiler, but I take your point.
> 
> 16.10 (same _MSC_VER) was released in May 2021
> https://docs.microsoft.com/en-us/visualstudio/install/visual-studio-build-numbers-and-release-dates?view=vs-2019
> 
> If we want something a year old, 16.8 + 16.9 (1928) is about right.
16.7 (1927) would also be quite reasonable (Aug 2020). I don't have a strong 
preference for 16.7 vs 16.8, so I took a look at the release notes. 16.8 added 
support for newer C++ features, but not ones we care about consuming in our 
code base (coroutines, concepts, , some STL improvements, etc), so I 
think we'd be fine with 16.7 if we wanted to be more conservative on the window 
for the soft error.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114639/new/

https://reviews.llvm.org/D114639

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D114639: Raise the minimum Visual Studio version to VS2019

2021-11-29 Thread James Henderson via Phabricator via cfe-commits
jhenderson added inline comments.



Comment at: clang/docs/UsersManual.rst:3546
 
-cmake -G"Visual Studio 15 2017" -T LLVM ..
+cmake -G"Visual Studio 17 2022" -T LLVM ..
 

RKSimon wrote:
> aaron.ballman wrote:
> > jhenderson wrote:
> > > I think the missing space should be fixed to :)
> > +1 to the missing space.
> This one is confusing - it isn't in my local diff, the raw diff, or if I 
> reapply the raw diff - it looks to have just appeared when you quote it in 
> phab comments?
The fact that the space is missing? It's missing in the current repo too.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114639/new/

https://reviews.llvm.org/D114639

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D114639: Raise the minimum Visual Studio version to VS2019

2021-11-29 Thread Simon Pilgrim via Phabricator via cfe-commits
RKSimon added a comment.

> Have you checked whether there are any bots in the lab that will need to be 
> updated?

I did find a number of bots that I think need addressing, I am intending to 
privately email the owners but I haven't done that yet - @rnk maintains the 
sanitizer-windows and windows-gcebot2 machines, but there are others.




Comment at: clang/docs/UsersManual.rst:3546
 
-cmake -G"Visual Studio 15 2017" -T LLVM ..
+cmake -G"Visual Studio 17 2022" -T LLVM ..
 

aaron.ballman wrote:
> jhenderson wrote:
> > I think the missing space should be fixed to :)
> +1 to the missing space.
This one is confusing - it isn't in my local diff, the raw diff, or if I 
reapply the raw diff - it looks to have just appeared when you quote it in phab 
comments?



Comment at: llvm/cmake/modules/CheckCompilerVersion.cmake:17-18
+# _MSC_VER == 1929 MSVC++ 14.29 Visual Studio 2019 Version 16.10 & 16.11
+set(MSVC_MIN 19.20)
+set(MSVC_SOFT_ERROR 19.29)
 

aaron.ballman wrote:
> I'm a bit less certain that this is reasonable. 16.11.0 is from August 2021, 
> which seems incredibly new for giving soft errors on.
Our docs do say the latest update of the compiler, but I take your point.

16.10 (same _MSC_VER) was released in May 2021
https://docs.microsoft.com/en-us/visualstudio/install/visual-studio-build-numbers-and-release-dates?view=vs-2019

If we want something a year old, 16.8 + 16.9 (1928) is about right.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114639/new/

https://reviews.llvm.org/D114639

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D114639: Raise the minimum Visual Studio version to VS2019

2021-11-29 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added a comment.

Have you checked whether there are any bots in the lab that will need to be 
updated?




Comment at: clang/docs/UsersManual.rst:3546
 
-cmake -G"Visual Studio 15 2017" -T LLVM ..
+cmake -G"Visual Studio 17 2022" -T LLVM ..
 

jhenderson wrote:
> I think the missing space should be fixed to :)
+1 to the missing space.



Comment at: llvm/cmake/modules/CheckCompilerVersion.cmake:17-18
+# _MSC_VER == 1929 MSVC++ 14.29 Visual Studio 2019 Version 16.10 & 16.11
+set(MSVC_MIN 19.20)
+set(MSVC_SOFT_ERROR 19.29)
 

I'm a bit less certain that this is reasonable. 16.11.0 is from August 2021, 
which seems incredibly new for giving soft errors on.



Comment at: llvm/include/llvm/Support/Compiler.h:106-108
 /// Sadly, this is separate from just rvalue reference support because GCC
 /// and MSVC implemented this later than everything else. This appears to be
 /// corrected in MSVC 2019 but not MSVC 2017.

RKSimon wrote:
> jhenderson wrote:
> > RKSimon wrote:
> > > jhenderson wrote:
> > > > Does this comment need changing?
> > > An even bigger question is - can we get rid of the 
> > > LLVM_HAS_RVALUE_REFERENCE_THIS define entirely now? Either as part of 
> > > this patch or as a followup
> > Yeah, another patch entirely to sort this would be fine.
> I'll add a FIXME to this patch
+1; FWIW, the last time we tried to get rid of this, the only thing we could 
realistically do was remove it and see how the bots/community reacted. Doing 
that in a follow-up patch seems like a good idea to me.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114639/new/

https://reviews.llvm.org/D114639

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D114639: Raise the minimum Visual Studio version to VS2019

2021-11-29 Thread Simon Pilgrim via Phabricator via cfe-commits
RKSimon updated this revision to Diff 390283.
RKSimon added a comment.

rebase and add FIXME


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114639/new/

https://reviews.llvm.org/D114639

Files:
  clang/docs/ClangFormatStyleOptions.rst
  clang/docs/UsersManual.rst
  llvm/cmake/modules/CheckCompilerVersion.cmake
  llvm/docs/CMake.rst
  llvm/docs/GettingStarted.rst
  llvm/docs/GettingStartedVS.rst
  llvm/docs/ReleaseNotes.rst
  llvm/include/llvm/Support/Compiler.h

Index: llvm/include/llvm/Support/Compiler.h
===
--- llvm/include/llvm/Support/Compiler.h
+++ llvm/include/llvm/Support/Compiler.h
@@ -80,12 +80,21 @@
 /// * 1916: VS2017, version 15.9
 /// * 1920: VS2019, version 16.0
 /// * 1921: VS2019, version 16.1
+/// * 1922: VS2019, version 16.2
+/// * 1923: VS2019, version 16.3
+/// * 1924: VS2019, version 16.4
+/// * 1925: VS2019, version 16.5
+/// * 1926: VS2019, version 16.6
+/// * 1927: VS2019, version 16.7
+/// * 1928: VS2019, version 16.8 + 16.9
+/// * 1929: VS2019, version 16.10 + 16.11
+/// * 1930: VS2022, version 17.0
 #ifdef _MSC_VER
 #define LLVM_MSC_PREREQ(version) (_MSC_VER >= (version))
 
-// We require at least MSVC 2017.
-#if !LLVM_MSC_PREREQ(1910)
-#error LLVM requires at least MSVC 2017.
+// We require at least VS 2019.
+#if !LLVM_MSC_PREREQ(1920)
+#error LLVM requires at least VS 2019.
 #endif
 
 #else
@@ -97,12 +106,8 @@
 /// Sadly, this is separate from just rvalue reference support because GCC
 /// and MSVC implemented this later than everything else. This appears to be
 /// corrected in MSVC 2019 but not MSVC 2017.
-#if __has_feature(cxx_rvalue_references) || defined(__GNUC__) ||   \
-LLVM_MSC_PREREQ(1920)
+/// FIXME: Remove LLVM_HAS_RVALUE_REFERENCE_THIS macro
 #define LLVM_HAS_RVALUE_REFERENCE_THIS 1
-#else
-#define LLVM_HAS_RVALUE_REFERENCE_THIS 0
-#endif
 
 /// Expands to '&' if ref-qualifiers for *this are supported.
 ///
Index: llvm/docs/ReleaseNotes.rst
===
--- llvm/docs/ReleaseNotes.rst
+++ llvm/docs/ReleaseNotes.rst
@@ -65,7 +65,7 @@
 Changes to building LLVM
 
 
-* ...
+* Building LLVM with Visual Studio now requires version 2019 or later.
 
 Changes to TableGen
 ---
Index: llvm/docs/GettingStartedVS.rst
===
--- llvm/docs/GettingStartedVS.rst
+++ llvm/docs/GettingStartedVS.rst
@@ -36,7 +36,7 @@
 
 Hardware
 
-Any system that can adequately run Visual Studio 2017 is fine. The LLVM
+Any system that can adequately run Visual Studio 2019 is fine. The LLVM
 source tree including the git index consumes approximately 3GB.
 Object files, libraries and executables consume approximately 5GB in
 Release mode and much more in Debug mode. SSD drive and >16GB RAM are
@@ -45,8 +45,8 @@
 
 Software
 
-You will need `Visual Studio `_ 2017 or
-higher, with the latest Update installed. Visual Studio Community Edition
+You will need `Visual Studio `_ 2019 or
+later, with the latest Update installed. Visual Studio Community Edition
 suffices.
 
 You will also need the `CMake `_ build system since it
Index: llvm/docs/GettingStarted.rst
===
--- llvm/docs/GettingStarted.rst
+++ llvm/docs/GettingStarted.rst
@@ -238,7 +238,7 @@
 * Clang 3.5
 * Apple Clang 6.0
 * GCC 5.1
-* Visual Studio 2017
+* Visual Studio 2019
 
 Anything older than these toolchains *may* work, but will require forcing the
 build system with a special option and is not really a supported host platform.
@@ -273,8 +273,8 @@
 This section mostly applies to Linux and older BSDs. On macOS, you should
 have a sufficiently modern Xcode, or you will likely need to upgrade until you
 do. Windows does not have a "system compiler", so you must install either Visual
-Studio 2017 or a recent version of mingw64. FreeBSD 10.0 and newer have a modern
-Clang as the system compiler.
+Studio 2019 (or later), or a recent version of mingw64. FreeBSD 10.0 and newer
+have a modern Clang as the system compiler.
 
 However, some Linux distributions and some other or older BSDs sometimes have
 extremely old versions of GCC. These steps attempt to help you upgrade you
Index: llvm/docs/CMake.rst
===
--- llvm/docs/CMake.rst
+++ llvm/docs/CMake.rst
@@ -447,9 +447,7 @@
   creation of certain convenience build system targets, such as the various
   ``install-*`` and ``check-*`` targets, since IDEs don't always deal well with
   a large number of targets. This is usually autodetected, but it can be
-  configured manually to explicitly control the generation of those targets. One
-  scenario where a manual override may be desirable is 

[PATCH] D114639: Raise the minimum Visual Studio version to VS2019

2021-11-29 Thread Simon Pilgrim via Phabricator via cfe-commits
RKSimon added inline comments.



Comment at: llvm/include/llvm/Support/Compiler.h:106-108
 /// Sadly, this is separate from just rvalue reference support because GCC
 /// and MSVC implemented this later than everything else. This appears to be
 /// corrected in MSVC 2019 but not MSVC 2017.

jhenderson wrote:
> RKSimon wrote:
> > jhenderson wrote:
> > > Does this comment need changing?
> > An even bigger question is - can we get rid of the 
> > LLVM_HAS_RVALUE_REFERENCE_THIS define entirely now? Either as part of this 
> > patch or as a followup
> Yeah, another patch entirely to sort this would be fine.
I'll add a FIXME to this patch


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114639/new/

https://reviews.llvm.org/D114639

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D114639: Raise the minimum Visual Studio version to VS2019

2021-11-28 Thread James Henderson via Phabricator via cfe-commits
jhenderson added a comment.

No more comments from me (apart from one minor nit). This should definitely get 
someone with more familiarity with how these things are configured to take a 
look though.




Comment at: clang/docs/UsersManual.rst:3546
 
-cmake -G"Visual Studio 15 2017" -T LLVM ..
+cmake -G"Visual Studio 17 2022" -T LLVM ..
 

I think the missing space should be fixed to :)



Comment at: llvm/include/llvm/Support/Compiler.h:106-108
 /// Sadly, this is separate from just rvalue reference support because GCC
 /// and MSVC implemented this later than everything else. This appears to be
 /// corrected in MSVC 2019 but not MSVC 2017.

RKSimon wrote:
> jhenderson wrote:
> > Does this comment need changing?
> An even bigger question is - can we get rid of the 
> LLVM_HAS_RVALUE_REFERENCE_THIS define entirely now? Either as part of this 
> patch or as a followup
Yeah, another patch entirely to sort this would be fine.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114639/new/

https://reviews.llvm.org/D114639

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D114639: Raise the minimum Visual Studio version to VS2019

2021-11-26 Thread Simon Pilgrim via Phabricator via cfe-commits
RKSimon updated this revision to Diff 390082.
RKSimon added a comment.

address comments


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114639/new/

https://reviews.llvm.org/D114639

Files:
  clang/docs/ClangFormatStyleOptions.rst
  clang/docs/UsersManual.rst
  llvm/cmake/modules/CheckCompilerVersion.cmake
  llvm/docs/CMake.rst
  llvm/docs/GettingStarted.rst
  llvm/docs/GettingStartedVS.rst
  llvm/docs/ReleaseNotes.rst
  llvm/include/llvm/Support/Compiler.h

Index: llvm/include/llvm/Support/Compiler.h
===
--- llvm/include/llvm/Support/Compiler.h
+++ llvm/include/llvm/Support/Compiler.h
@@ -80,12 +80,21 @@
 /// * 1916: VS2017, version 15.9
 /// * 1920: VS2019, version 16.0
 /// * 1921: VS2019, version 16.1
+/// * 1922: VS2019, version 16.2
+/// * 1923: VS2019, version 16.3
+/// * 1924: VS2019, version 16.4
+/// * 1925: VS2019, version 16.5
+/// * 1926: VS2019, version 16.6
+/// * 1927: VS2019, version 16.7
+/// * 1928: VS2019, version 16.8 + 16.9
+/// * 1929: VS2019, version 16.10 + 16.11
+/// * 1930: VS2022, version 17.0
 #ifdef _MSC_VER
 #define LLVM_MSC_PREREQ(version) (_MSC_VER >= (version))
 
-// We require at least MSVC 2017.
-#if !LLVM_MSC_PREREQ(1910)
-#error LLVM requires at least MSVC 2017.
+// We require at least VS 2019.
+#if !LLVM_MSC_PREREQ(1920)
+#error LLVM requires at least VS 2019.
 #endif
 
 #else
@@ -97,12 +106,7 @@
 /// Sadly, this is separate from just rvalue reference support because GCC
 /// and MSVC implemented this later than everything else. This appears to be
 /// corrected in MSVC 2019 but not MSVC 2017.
-#if __has_feature(cxx_rvalue_references) || defined(__GNUC__) ||   \
-LLVM_MSC_PREREQ(1920)
 #define LLVM_HAS_RVALUE_REFERENCE_THIS 1
-#else
-#define LLVM_HAS_RVALUE_REFERENCE_THIS 0
-#endif
 
 /// Expands to '&' if ref-qualifiers for *this are supported.
 ///
Index: llvm/docs/ReleaseNotes.rst
===
--- llvm/docs/ReleaseNotes.rst
+++ llvm/docs/ReleaseNotes.rst
@@ -65,7 +65,7 @@
 Changes to building LLVM
 
 
-* ...
+* Building LLVM with Visual Studio now requires version 2019 or later.
 
 Changes to TableGen
 ---
Index: llvm/docs/GettingStartedVS.rst
===
--- llvm/docs/GettingStartedVS.rst
+++ llvm/docs/GettingStartedVS.rst
@@ -36,7 +36,7 @@
 
 Hardware
 
-Any system that can adequately run Visual Studio 2017 is fine. The LLVM
+Any system that can adequately run Visual Studio 2019 is fine. The LLVM
 source tree including the git index consumes approximately 3GB.
 Object files, libraries and executables consume approximately 5GB in
 Release mode and much more in Debug mode. SSD drive and >16GB RAM are
@@ -45,8 +45,8 @@
 
 Software
 
-You will need `Visual Studio `_ 2017 or
-higher, with the latest Update installed. Visual Studio Community Edition
+You will need `Visual Studio `_ 2019 or
+later, with the latest Update installed. Visual Studio Community Edition
 suffices.
 
 You will also need the `CMake `_ build system since it
Index: llvm/docs/GettingStarted.rst
===
--- llvm/docs/GettingStarted.rst
+++ llvm/docs/GettingStarted.rst
@@ -238,7 +238,7 @@
 * Clang 3.5
 * Apple Clang 6.0
 * GCC 5.1
-* Visual Studio 2017
+* Visual Studio 2019
 
 Anything older than these toolchains *may* work, but will require forcing the
 build system with a special option and is not really a supported host platform.
@@ -273,8 +273,8 @@
 This section mostly applies to Linux and older BSDs. On macOS, you should
 have a sufficiently modern Xcode, or you will likely need to upgrade until you
 do. Windows does not have a "system compiler", so you must install either Visual
-Studio 2017 or a recent version of mingw64. FreeBSD 10.0 and newer have a modern
-Clang as the system compiler.
+Studio 2019 (or later), or a recent version of mingw64. FreeBSD 10.0 and newer
+have a modern Clang as the system compiler.
 
 However, some Linux distributions and some other or older BSDs sometimes have
 extremely old versions of GCC. These steps attempt to help you upgrade you
Index: llvm/docs/CMake.rst
===
--- llvm/docs/CMake.rst
+++ llvm/docs/CMake.rst
@@ -447,9 +447,7 @@
   creation of certain convenience build system targets, such as the various
   ``install-*`` and ``check-*`` targets, since IDEs don't always deal well with
   a large number of targets. This is usually autodetected, but it can be
-  configured manually to explicitly control the generation of those targets. One
-  scenario where a manual override may be desirable is when using Visual Studio
-  2017's CMake integration, which 

[PATCH] D114639: Raise the minimum Visual Studio version to VS2019

2021-11-26 Thread Simon Pilgrim via Phabricator via cfe-commits
RKSimon added inline comments.



Comment at: llvm/include/llvm/Support/Compiler.h:106-108
 /// Sadly, this is separate from just rvalue reference support because GCC
 /// and MSVC implemented this later than everything else. This appears to be
 /// corrected in MSVC 2019 but not MSVC 2017.

jhenderson wrote:
> Does this comment need changing?
An even bigger question is - can we get rid of the 
LLVM_HAS_RVALUE_REFERENCE_THIS define entirely now? Either as part of this 
patch or as a followup


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114639/new/

https://reviews.llvm.org/D114639

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D114639: Raise the minimum Visual Studio version to VS2019

2021-11-26 Thread James Henderson via Phabricator via cfe-commits
jhenderson added inline comments.



Comment at: clang/docs/UsersManual.rst:3546
 
-cmake -G"Visual Studio 15 2017" -T LLVM ..
+cmake -G"Visual Studio 16 2019" -T LLVM ..
 

Maybe make this VS2022 instead, to help it last longer?



Comment at: llvm/docs/GettingStarted.rst:276
 do. Windows does not have a "system compiler", so you must install either 
Visual
-Studio 2017 or a recent version of mingw64. FreeBSD 10.0 and newer have a 
modern
+Studio 2019 or a recent version of mingw64. FreeBSD 10.0 and newer have a 
modern
 Clang as the system compiler.

Perhaps add "or Visual Studio 2022" or similar?



Comment at: llvm/include/llvm/Support/Compiler.h:106-108
 /// Sadly, this is separate from just rvalue reference support because GCC
 /// and MSVC implemented this later than everything else. This appears to be
 /// corrected in MSVC 2019 but not MSVC 2017.

Does this comment need changing?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114639/new/

https://reviews.llvm.org/D114639

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D114639: Raise the minimum Visual Studio version to VS2019

2021-11-26 Thread Simon Pilgrim via Phabricator via cfe-commits
RKSimon created this revision.
RKSimon added reviewers: rnk, aaron.ballman, zturner, jhenderson, Meinersbur, 
jansvoboda11, gbedwell.
Herald added subscribers: dexonsmith, mstorsjo, mgorny.
RKSimon requested review of this revision.
Herald added projects: clang, LLVM.
Herald added a subscriber: cfe-commits.

As raised here: 
https://lists.llvm.org/pipermail/llvm-dev/2021-November/153881.html

Now that VS2022 is on general release, LLVM is expected to build on VS2017, 
VS2019 and VS2022, which is proving hazardous to maintain due to changes in 
behaviour including preprocessor and constexpr changes. Plus of the few 
developers that work with VS, many have already moved to VS2019/22.

This patch proposes to raise the minimum supported version to VS2019 (16.x) - 
I've made the hard limit 16.0 or later, with the soft limit 16.11 (VS2019 
latest) - older versions os VS2019 are "allowed" (at your own risk) via the 
LLVM_FORCE_USE_OLD_TOOLCHAIN cmake flag.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D114639

Files:
  clang/docs/ClangFormatStyleOptions.rst
  clang/docs/UsersManual.rst
  llvm/cmake/modules/CheckCompilerVersion.cmake
  llvm/docs/CMake.rst
  llvm/docs/GettingStarted.rst
  llvm/docs/GettingStartedVS.rst
  llvm/docs/ReleaseNotes.rst
  llvm/include/llvm/Support/Compiler.h

Index: llvm/include/llvm/Support/Compiler.h
===
--- llvm/include/llvm/Support/Compiler.h
+++ llvm/include/llvm/Support/Compiler.h
@@ -80,12 +80,21 @@
 /// * 1916: VS2017, version 15.9
 /// * 1920: VS2019, version 16.0
 /// * 1921: VS2019, version 16.1
+/// * 1922: VS2019, version 16.2
+/// * 1923: VS2019, version 16.3
+/// * 1924: VS2019, version 16.4
+/// * 1925: VS2019, version 16.5
+/// * 1926: VS2019, version 16.6
+/// * 1927: VS2019, version 16.7
+/// * 1928: VS2019, version 16.8 + 16.9
+/// * 1929: VS2019, version 16.10 + 16.11
+/// * 1930: VS2022, version 17.0
 #ifdef _MSC_VER
 #define LLVM_MSC_PREREQ(version) (_MSC_VER >= (version))
 
-// We require at least MSVC 2017.
-#if !LLVM_MSC_PREREQ(1910)
-#error LLVM requires at least MSVC 2017.
+// We require at least VS 2019.
+#if !LLVM_MSC_PREREQ(1920)
+#error LLVM requires at least VS 2019.
 #endif
 
 #else
@@ -97,12 +106,7 @@
 /// Sadly, this is separate from just rvalue reference support because GCC
 /// and MSVC implemented this later than everything else. This appears to be
 /// corrected in MSVC 2019 but not MSVC 2017.
-#if __has_feature(cxx_rvalue_references) || defined(__GNUC__) ||   \
-LLVM_MSC_PREREQ(1920)
 #define LLVM_HAS_RVALUE_REFERENCE_THIS 1
-#else
-#define LLVM_HAS_RVALUE_REFERENCE_THIS 0
-#endif
 
 /// Expands to '&' if ref-qualifiers for *this are supported.
 ///
Index: llvm/docs/ReleaseNotes.rst
===
--- llvm/docs/ReleaseNotes.rst
+++ llvm/docs/ReleaseNotes.rst
@@ -65,7 +65,7 @@
 Changes to building LLVM
 
 
-* ...
+* Building LLVM with Visual Studio now requires version 2019 or later.
 
 Changes to TableGen
 ---
Index: llvm/docs/GettingStartedVS.rst
===
--- llvm/docs/GettingStartedVS.rst
+++ llvm/docs/GettingStartedVS.rst
@@ -36,7 +36,7 @@
 
 Hardware
 
-Any system that can adequately run Visual Studio 2017 is fine. The LLVM
+Any system that can adequately run Visual Studio 2019 is fine. The LLVM
 source tree including the git index consumes approximately 3GB.
 Object files, libraries and executables consume approximately 5GB in
 Release mode and much more in Debug mode. SSD drive and >16GB RAM are
@@ -45,7 +45,7 @@
 
 Software
 
-You will need `Visual Studio `_ 2017 or
+You will need `Visual Studio `_ 2019 or
 higher, with the latest Update installed. Visual Studio Community Edition
 suffices.
 
Index: llvm/docs/GettingStarted.rst
===
--- llvm/docs/GettingStarted.rst
+++ llvm/docs/GettingStarted.rst
@@ -238,7 +238,7 @@
 * Clang 3.5
 * Apple Clang 6.0
 * GCC 5.1
-* Visual Studio 2017
+* Visual Studio 2019
 
 Anything older than these toolchains *may* work, but will require forcing the
 build system with a special option and is not really a supported host platform.
@@ -273,7 +273,7 @@
 This section mostly applies to Linux and older BSDs. On macOS, you should
 have a sufficiently modern Xcode, or you will likely need to upgrade until you
 do. Windows does not have a "system compiler", so you must install either Visual
-Studio 2017 or a recent version of mingw64. FreeBSD 10.0 and newer have a modern
+Studio 2019 or a recent version of mingw64. FreeBSD 10.0 and newer have a modern
 Clang as the system compiler.
 
 However, some Linux distributions and some other or older BSDs sometimes have
Index: llvm/docs/CMake.rst