Skip to content

Commit dd54153

Browse files
committedAug 31, 2022
8293162: Drop support for VS2017
Reviewed-by: erikj, kbarrett
1 parent 12317ef commit dd54153

File tree

7 files changed

+18
-45
lines changed

7 files changed

+18
-45
lines changed
 

‎doc/building.html

+2-2
Original file line numberDiff line numberDiff line change
@@ -300,8 +300,8 @@ <h3 id="apple-xcode">Apple Xcode</h3>
300300
<p>It is advisable to keep an older version of Xcode for building the JDK when updating Xcode. This <a href="http://iosdevelopertips.com/xcode/install-multiple-versions-of-xcode.html">blog page</a> has good suggestions on managing multiple Xcode versions. To use a specific version of Xcode, use <code>xcode-select -s</code> before running <code>configure</code>, or use <code>--with-toolchain-path</code> to point to the version of Xcode to use, e.g. <code>configure --with-toolchain-path=/Applications/Xcode8.app/Contents/Developer/usr/bin</code></p>
301301
<p>If you have recently (inadvertently) updated your OS and/or Xcode version, and the JDK can no longer be built, please see the section on <a href="#problems-with-the-build-environment">Problems with the Build Environment</a>, and <a href="#getting-help">Getting Help</a> to find out if there are any recent, non-merged patches available for this update.</p>
302302
<h3 id="microsoft-visual-studio">Microsoft Visual Studio</h3>
303-
<p>For aarch64 machines running Windows the minimum accepted version is Visual Studio 2019 (16.8 or higher). For all other platforms the minimum accepted version of Visual Studio is 2017. Older versions will not be accepted by <code>configure</code> and will not work. For all platforms the maximum accepted version of Visual Studio is 2022.</p>
304-
<p>If you have multiple versions of Visual Studio installed, <code>configure</code> will by default pick the latest. You can request a specific version to be used by setting <code>--with-toolchain-version</code>, e.g. <code>--with-toolchain-version=2017</code>.</p>
303+
<p>The minimum accepted version is Visual Studio 2019 (for aarch64, at least 16.8 is required). Older versions will not be accepted by <code>configure</code> and will not work. The maximum accepted version of Visual Studio is 2022.</p>
304+
<p>If you have multiple versions of Visual Studio installed, <code>configure</code> will by default pick the latest. You can request a specific version to be used by setting <code>--with-toolchain-version</code>, e.g. <code>--with-toolchain-version=2022</code>.</p>
305305
<p>If you have Visual Studio installed but <code>configure</code> fails to detect it, it may be because of <a href="#spaces-in-path">spaces in path</a>.</p>
306306
<h3 id="ibm-xl-cc">IBM XL C/C++</h3>
307307
<p>Please consult the AIX section of the <a href="https://wiki.openjdk.java.net/display/Build/Supported+Build+Platforms">Supported Build Platforms</a> OpenJDK Build Wiki page for details about which versions of XLC are supported.</p>

‎doc/building.md

+4-5
Original file line numberDiff line numberDiff line change
@@ -382,14 +382,13 @@ available for this update.
382382

383383
### Microsoft Visual Studio
384384

385-
For aarch64 machines running Windows the minimum accepted version is Visual Studio 2019
386-
(16.8 or higher). For all other platforms the minimum accepted version of
387-
Visual Studio is 2017. Older versions will not be accepted by `configure` and will
388-
not work. For all platforms the maximum accepted version of Visual Studio is 2022.
385+
The minimum accepted version is Visual Studio 2019 (for aarch64, at least 16.8
386+
is required). Older versions will not be accepted by `configure` and will not
387+
work. The maximum accepted version of Visual Studio is 2022.
389388

390389
If you have multiple versions of Visual Studio installed, `configure` will by
391390
default pick the latest. You can request a specific version to be used by
392-
setting `--with-toolchain-version`, e.g. `--with-toolchain-version=2017`.
391+
setting `--with-toolchain-version`, e.g. `--with-toolchain-version=2022`.
393392

394393
If you have Visual Studio installed but `configure` fails to detect it, it may
395394
be because of [spaces in path](#spaces-in-path).

‎make/autoconf/flags-cflags.m4

-4
Original file line numberDiff line numberDiff line change
@@ -168,10 +168,6 @@ AC_DEFUN([FLAGS_SETUP_WARNINGS],
168168
169169
WARNINGS_ENABLE_ALL="-W3"
170170
DISABLED_WARNINGS="4800"
171-
if test "x$TOOLCHAIN_VERSION" = x2017; then
172-
# VS2017 incorrectly triggers this warning for constexpr
173-
DISABLED_WARNINGS="$DISABLED_WARNINGS 4307"
174-
fi
175171
;;
176172
177173
gcc)

‎make/autoconf/toolchain.m4

+1-1
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ TOOLCHAIN_DESCRIPTION_xlc="IBM XL C/C++"
5252
# Minimum supported versions, empty means unspecified
5353
TOOLCHAIN_MINIMUM_VERSION_clang="3.5"
5454
TOOLCHAIN_MINIMUM_VERSION_gcc="6.0"
55-
TOOLCHAIN_MINIMUM_VERSION_microsoft="19.10.0.0" # VS2017
55+
TOOLCHAIN_MINIMUM_VERSION_microsoft="19.20.0.0" # VS2019
5656
TOOLCHAIN_MINIMUM_VERSION_xlc=""
5757

5858
# Minimum supported linker versions, empty means unspecified

‎make/autoconf/toolchain_microsoft.m4

+9-30
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#
2-
# Copyright (c) 2011, 2021, Oracle and/or its affiliates. All rights reserved.
2+
# Copyright (c) 2011, 2022, Oracle and/or its affiliates. All rights reserved.
33
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
44
#
55
# This code is free software; you can redistribute it and/or modify it
@@ -25,21 +25,7 @@
2525

2626
################################################################################
2727
# The order of these defines the priority by which we try to find them.
28-
VALID_VS_VERSIONS="2019 2017 2022"
29-
30-
VS_DESCRIPTION_2017="Microsoft Visual Studio 2017"
31-
VS_VERSION_INTERNAL_2017=141
32-
VS_MSVCR_2017=vcruntime140.dll
33-
VS_MSVCP_2017=msvcp140.dll
34-
VS_ENVVAR_2017="VS150COMNTOOLS"
35-
VS_USE_UCRT_2017="true"
36-
VS_VS_INSTALLDIR_2017="Microsoft Visual Studio/2017"
37-
VS_EDITIONS_2017="BuildTools Community Professional Enterprise"
38-
VS_SDK_INSTALLDIR_2017=
39-
VS_VS_PLATFORM_NAME_2017="v141"
40-
VS_SDK_PLATFORM_NAME_2017=
41-
VS_SUPPORTED_2017=true
42-
VS_TOOLSET_SUPPORTED_2017=true
28+
VALID_VS_VERSIONS="2022 2019"
4329

4430
VS_DESCRIPTION_2019="Microsoft Visual Studio 2019"
4531
VS_VERSION_INTERNAL_2019=142
@@ -84,7 +70,7 @@ AC_DEFUN([TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT],
8470
UTIL_FIXUP_PATH(VS_BASE, NOFAIL)
8571
8672
if test "x$VS_BASE" != x && test -d "$VS_BASE"; then
87-
# In VS 2017 and VS 2019, the default installation is in a subdir named after the edition.
73+
# In VS 2019, the default installation is in a subdir named after the edition.
8874
# Find the first one present and use that.
8975
if test "x$VS_EDITIONS" != x; then
9076
for edition in $VS_EDITIONS; do
@@ -172,11 +158,9 @@ AC_DEFUN([TOOLCHAIN_CHECK_POSSIBLE_WIN_SDK_ROOT],
172158
# build environment and assigns it to VS_ENV_CMD
173159
AC_DEFUN([TOOLCHAIN_FIND_VISUAL_STUDIO_BAT_FILE],
174160
[
175-
# VS2017 provides the option to install previous minor versions of the MSVC
176-
# toolsets. It is not possible to directly download earlier minor versions of
177-
# VS2017 and in order to build with a previous minor compiler toolset version,
178-
# it is now possible to compile with earlier minor versions by passing
179-
# -vcvars_ver=<toolset_version> argument to vcvarsall.bat.
161+
# Since VS2017 MS provides the option to install previous minor versions of
162+
# the toolset. In order to build with a previous minor compiler toolset
163+
# version, pass -vcvars_ver=<toolset_version> argument to vcvarsall.bat.
180164
AC_ARG_WITH(msvc-toolset-version, [AS_HELP_STRING([--with-msvc-toolset-version],
181165
[specific MSVC toolset version to use, passed as -vcvars_ver argument to
182166
pass to vcvarsall.bat (Windows only)])])
@@ -494,14 +478,9 @@ AC_DEFUN([TOOLCHAIN_SETUP_MSVC_DLL],
494478
495479
if test "x$MSVC_DLL" = x; then
496480
if test "x$VCINSTALLDIR" != x; then
497-
if test "$VS_VERSION" -lt 2017; then
498-
# Probe: Using well-known location from Visual Studio 12.0 and older
499-
POSSIBLE_MSVC_DLL="$VCINSTALLDIR/redist/$vs_target_cpu/microsoft.vc${VS_VERSION_INTERNAL}.crt/$DLL_NAME"
500-
else
501-
# Probe: Using well-known location from VS 2017 and VS 2019
502-
POSSIBLE_MSVC_DLL="`ls $VCToolsRedistDir/$vs_target_cpu/microsoft.vc${VS_VERSION_INTERNAL}.crt/$DLL_NAME 2> /dev/null`"
503-
fi
504-
# In case any of the above finds more than one file, loop over them.
481+
# Probe: Using well-known location
482+
POSSIBLE_MSVC_DLL="`ls $VCToolsRedistDir/$vs_target_cpu/microsoft.vc${VS_VERSION_INTERNAL}.crt/$DLL_NAME 2> /dev/null`"
483+
# If the above finds more than one file, loop over them.
505484
for possible_msvc_dll in $POSSIBLE_MSVC_DLL; do
506485
TOOLCHAIN_CHECK_POSSIBLE_MSVC_DLL([$DLL_NAME], [$possible_msvc_dll],
507486
[well-known location in VCINSTALLDIR])

‎src/hotspot/share/runtime/atomic.hpp

-1
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,6 @@ class Atomic : AllStatic {
166166
atomic_memory_order order = memory_order_conservative);
167167

168168
private:
169-
WINDOWS_ONLY(public:) // VS2017 warns (C2027) use of undefined type if IsPointerConvertible is declared private
170169
// Test whether From is implicitly convertible to To.
171170
// From and To must be pointer types.
172171
// Note: Provides the limited subset of C++11 std::is_convertible

‎src/hotspot/share/runtime/continuationFreezeThaw.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -2501,10 +2501,10 @@ class ConfigResolve {
25012501
static void resolve() {
25022502
typedef Config<use_compressed ? oop_kind::NARROW : oop_kind::WIDE, BarrierSetT> SelectedConfigT;
25032503

2504-
freeze_entry = (address)(void*)freeze<SelectedConfigT>;
2504+
freeze_entry = (address)freeze<SelectedConfigT>;
25052505

25062506
// If we wanted, we could templatize by kind and have three different thaw entries
2507-
thaw_entry = (address)(void*)thaw<SelectedConfigT>;
2507+
thaw_entry = (address)thaw<SelectedConfigT>;
25082508
}
25092509
};
25102510

1 commit comments

Comments
 (1)

openjdk-notifier[bot] commented on Aug 31, 2022

@openjdk-notifier[bot]
Please sign in to comment.