Remove support for Visual Studio 2013
authorMichael Paquier
Thu, 14 Jul 2022 02:22:49 +0000 (11:22 +0900)
committerMichael Paquier
Thu, 14 Jul 2022 02:22:49 +0000 (11:22 +0900)
No members of the buildfarm are using this version of Visual Studio,
resulting in all the code cleaned up here as being mostly dead, and
VS2017 is the oldest version still supported.

More versions could be cut, but the gain would be minimal, while
removing only VS2013 has the advantage to remove from the core code all
the dependencies on the value defined by _MSC_VER, where compatibility
tweaks have accumulated across the years mostly around locales and
strtof(), so that's a nice isolated cleanup.

Note that this commit additionally allows a revert of 3154e16.  The
versions of Visual Studio now supported range from 2015 to 2022.

Author: Michael Paquier
Reviewed-by: Juan José Santamaría Flecha, Tom Lane, Thomas Munro, Justin
Pryzby
Discussion: https://postgr.es/m/[email protected]

14 files changed:
configure
configure.ac
doc/src/sgml/install-windows.sgml
src/backend/main/main.c
src/backend/optimizer/path/costsize.c
src/backend/utils/adt/float.c
src/backend/utils/adt/pg_locale.c
src/include/port/win32_port.h
src/port/chklocale.c
src/port/strtof.c
src/tools/msvc/MSBuildProject.pm
src/tools/msvc/README
src/tools/msvc/Solution.pm
src/tools/msvc/VSObjectFactory.pm

index a90be0382105b171c9668b289b884da6e9dcc82a..1e63c6862bc09af0b2c3e28751417a313d26bb6e 100755 (executable)
--- a/configure
+++ b/configure
 
 if test "$PORTNAME" = "win32" -o "$PORTNAME" = "cygwin"; then
    # Cygwin and (apparently, based on test results) Mingw both
-   # have a broken strtof(), so substitute the same replacement
-   # code we use with VS2013. That's not a perfect fix, since
-   # (unlike with VS2013) it doesn't avoid double-rounding, but
-   # we have no better options. To get that, though, we have to
+   # have a broken strtof(), so substitute its implementation.
+   # That's not a perfect fix, since it doesn't avoid double-rounding,
+   # but we have no better options. To get that, though, we have to
    # force the file to be compiled despite HAVE_STRTOF.
    case " $LIBOBJS " in
   *" strtof.$ac_objext "* ) ;;
index 7fbfb6795fe6c26142da74a11304dae1a2681a79..71191f14ad7ea5a38214f547aa7a3117eabb4e59 100644 (file)
@@ -1919,10 +1919,9 @@ fi
 
 if test "$PORTNAME" = "win32" -o "$PORTNAME" = "cygwin"; then
    # Cygwin and (apparently, based on test results) Mingw both
-   # have a broken strtof(), so substitute the same replacement
-   # code we use with VS2013. That's not a perfect fix, since
-   # (unlike with VS2013) it doesn't avoid double-rounding, but
-   # we have no better options. To get that, though, we have to
+   # have a broken strtof(), so substitute its implementation.
+   # That's not a perfect fix, since it doesn't avoid double-rounding,
+   # but we have no better options. To get that, though, we have to
    # force the file to be compiled despite HAVE_STRTOF.
    AC_LIBOBJ([strtof])
    AC_MSG_NOTICE([On $host_os we will use our strtof wrapper.])
index 66567d17a0455b6f992142c3b04b393bcc314443..afb004b5cf015848a8d9e9d16015f88d78ba8b40 100644 (file)
@@ -22,7 +22,7 @@
   Windows. The simplest way to build with
   Microsoft tools is to install Visual Studio 2022
   and use the included compiler. It is also possible to build with the full
-  Microsoft Visual C++ 2013 to 2022.
+  Microsoft Visual C++ 2015 to 2022.
   In some cases that requires the installation of the
   Windows SDK in addition to the compiler.
  
  
   Both 32-bit and 64-bit builds are possible with the Microsoft Compiler suite.
   32-bit PostgreSQL builds are possible with
-  Visual Studio 2013 to
+  Visual Studio 2015 to
   Visual Studio 2022,
   as well as standalone Windows SDK releases 8.1a to 10.
   64-bit PostgreSQL builds are supported with
   Microsoft Windows SDK version 8.1a to 10 or
-  Visual Studio 2013 and above.
+  Visual Studio 2015 and above.