-
Bug
-
Resolution: Unresolved
-
P4
-
None
-
tbd
-
None
As the continuation of JDK-8358538, I tried to backport it to 21u-dev, and ran into apparent MSVC issue:
=== Output from failing command(s) repeated here ===
* For target hotspot_variant-server_libjvm_gtest_objs_test_enableIf.obj:
test_enableIf.cpp
d:\a\jdk21u-dev\jdk21u-dev\test\hotspot\gtest\metaprogramming\test_enableIf.cpp(74): error C2244: 'TestEnableIfNested<T>::sub1': unable to match function definition to an existing declaration
d:\a\jdk21u-dev\jdk21u-dev\test\hotspot\gtest\metaprogramming\test_enableIf.cpp(74): note: see declaration of 'TestEnableIfNested<T>::sub1'
d:\a\jdk21u-dev\jdk21u-dev\test\hotspot\gtest\metaprogramming\test_enableIf.cpp(74): note: definition
d:\a\jdk21u-dev\jdk21u-dev\test\hotspot\gtest\metaprogramming\test_enableIf.cpp(74): note: 'U TestEnableIfNested<T>::sub1(U)'
d:\a\jdk21u-dev\jdk21u-dev\test\hotspot\gtest\metaprogramming\test_enableIf.cpp(74): note: existing declarations
d:\a\jdk21u-dev\jdk21u-dev\test\hotspot\gtest\metaprogramming\test_enableIf.cpp(69): note: 'U TestEnableIfNested<T>::sub1(U)'
Nothing explains this compilation error. I suspect this is a MSVC bug.
JDK-8358538 bumped to MSVC 14.43. In my local jdk21u-dev testing, 14.44 passed!
This matches with windows-2025 runner docs [1] that say they ship with MSVC 14.44, and MS docs [2] say "V143 - 14.43" support is "TBD", while "V143 - 14.xx" is claimed to be supported until "Jan 13, 2032 (Supported version)".
I suspect it would not be the final MSVC version, but given that we have to upgrade GHA workflows due to windows-2019 deprecation, and update releases need to dodge MSVC issues, and that 14.44 is documented to be available, we are forced to switch to it.
We would probably need to bump MSVC version again some time later.
[1] https://github.com/actions/runner-images/blob/main/images/windows/Windows2025-Readme.md
[2] https://learn.microsoft.com/en-us/lifecycle/faq/visual-c-faq
=== Output from failing command(s) repeated here ===
* For target hotspot_variant-server_libjvm_gtest_objs_test_enableIf.obj:
test_enableIf.cpp
d:\a\jdk21u-dev\jdk21u-dev\test\hotspot\gtest\metaprogramming\test_enableIf.cpp(74): error C2244: 'TestEnableIfNested<T>::sub1': unable to match function definition to an existing declaration
d:\a\jdk21u-dev\jdk21u-dev\test\hotspot\gtest\metaprogramming\test_enableIf.cpp(74): note: see declaration of 'TestEnableIfNested<T>::sub1'
d:\a\jdk21u-dev\jdk21u-dev\test\hotspot\gtest\metaprogramming\test_enableIf.cpp(74): note: definition
d:\a\jdk21u-dev\jdk21u-dev\test\hotspot\gtest\metaprogramming\test_enableIf.cpp(74): note: 'U TestEnableIfNested<T>::sub1(U)'
d:\a\jdk21u-dev\jdk21u-dev\test\hotspot\gtest\metaprogramming\test_enableIf.cpp(74): note: existing declarations
d:\a\jdk21u-dev\jdk21u-dev\test\hotspot\gtest\metaprogramming\test_enableIf.cpp(69): note: 'U TestEnableIfNested<T>::sub1(U)'
Nothing explains this compilation error. I suspect this is a MSVC bug.
This matches with windows-2025 runner docs [1] that say they ship with MSVC 14.44, and MS docs [2] say "V143 - 14.43" support is "TBD", while "V143 - 14.xx" is claimed to be supported until "Jan 13, 2032 (Supported version)".
I suspect it would not be the final MSVC version, but given that we have to upgrade GHA workflows due to windows-2019 deprecation, and update releases need to dodge MSVC issues, and that 14.44 is documented to be available, we are forced to switch to it.
We would probably need to bump MSVC version again some time later.
[1] https://github.com/actions/runner-images/blob/main/images/windows/Windows2025-Readme.md
[2] https://learn.microsoft.com/en-us/lifecycle/faq/visual-c-faq
- relates to
-
JDK-8358538 Update GHA Windows runner to 2025
-
- Resolved
-
-
JDK-8359216 Test test_enableIf.cpp fails to compile with error C2244
-
- New
-
- links to
-
Review(master) openjdk/jdk/25912