From bbd50de66d1c063137b9fa266181383f95c19a9c Mon Sep 17 00:00:00 2001 From: Adam Mitz Date: Thu, 5 Jun 2025 13:21:22 -0500 Subject: [PATCH 1/2] Merge pull request #2390 from mitza-oci/cxx20 Updates for Visual C++ CI and C++20 compatibility # Conflicts: # .github/workflows/cmake.yml # .github/workflows/windows.yml --- .github/workflows/windows.yml | 46 ++++++------------- .../orbsvcs/SSLIOP/SSLIOP_Endpoint.cpp | 12 +++-- 2 files changed, 22 insertions(+), 36 deletions(-) diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index a22e22eb00aaa..38c7f338782b8 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -17,59 +17,43 @@ jobs: fail-fast: false matrix: include: - - name: VS2019WChar - vmimage: windows-2019 - mpctype: vs2019 + - name: VS2022WChar + vmimage: windows-2022 + mpctype: vs2022 BuildPlatform: x64 BuildConfiguration: Debug vcpkgarch: x64-windows vcpkglibdir: debug/lib vcpkgpackages: '"openssl", {"name": "xerces-c", "features": ["xmlch-wchar"]}' OptionalFeatures: uses_wchar=1 - - name: VS2019Debug64 - vmimage: windows-2019 - mpctype: vs2019 - BuildPlatform: x64 - BuildConfiguration: Debug - vcpkgarch: x64-windows - vcpkglibdir: debug/lib - vcpkgpackages: '"openssl", "xerces-c"' - - name: VS2019Release64 - vmimage: windows-2019 - mpctype: vs2019 - BuildPlatform: x64 - BuildConfiguration: Release - vcpkgarch: x64-windows - vcpkglibdir: lib - vcpkgpackages: '"openssl", "xerces-c"' - - name: VS2019Debug32 - vmimage: windows-2019 - mpctype: vs2019 + - name: VS2022Debug32 + vmimage: windows-2022 + mpctype: vs2022 BuildPlatform: Win32 BuildConfiguration: Debug vcpkgarch: x86-windows vcpkglibdir: debug/lib vcpkgpackages: '"openssl", "xerces-c"' - - name: VS2019Release32 - vmimage: windows-2019 - mpctype: vs2019 + - name: VS2022Release32 + vmimage: windows-2022 + mpctype: vs2022 BuildPlatform: Win32 BuildConfiguration: Release vcpkgarch: x86-windows vcpkglibdir: lib vcpkgpackages: '"openssl", "xerces-c"' - - name: VS2019Debug64Cxx17 - vmimage: windows-2019 - mpctype: vs2019 + - name: VS2022Debug64Cxx17 + vmimage: windows-2022 + mpctype: vs2022 BuildPlatform: x64 BuildConfiguration: Debug vcpkgarch: x64-windows vcpkglibdir: debug/lib vcpkgpackages: '"openssl", "xerces-c", "zlib"' OptionalMpcArgs: -value_template LanguageStandard=stdcpp17 - - name: VS2019Debug64Cxx20 - vmimage: windows-2019 - mpctype: vs2019 + - name: VS2022Debug64Cxx20 + vmimage: windows-2022 + mpctype: vs2022 BuildPlatform: x64 BuildConfiguration: Debug vcpkgarch: x64-windows diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.cpp b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.cpp index 077725fc0963d..0c612a988c08f 100644 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.cpp +++ b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.cpp @@ -149,11 +149,13 @@ TAO_SSLIOP_Endpoint::is_equivalent (const TAO_Endpoint *other_endpoint) || this->qop_ != endpoint->qop () || this->trust_.trust_in_target != t.trust_in_target || this->trust_.trust_in_client != t.trust_in_client - || (!CORBA::is_nil (this->credentials_.in ()) - && !(*this->credentials_.in () == *endpoint->credentials ()))) - { - return 0; - } + || (!CORBA::is_nil (this->credentials_.in ()) && endpoint->credentials () + && !(*this->credentials_.in () == *static_cast (endpoint->credentials ())))) + // The cast above is needed for some C++20 compilers since overload resolution can consider b == a for a == b, + // and apparently the derived-to-base and adding-const implicit conversions result in an ambiguity. + { + return false; + } // Comparing the underlying iiop endpoints is wrong, as their port // numbers often may not make sense. Or may not being used anyway. From 8f6d1853f1d63124eaf0b079506780a2d7e4f9d0 Mon Sep 17 00:00:00 2001 From: Adam Mitz Date: Fri, 6 Jun 2025 11:44:45 -0500 Subject: [PATCH 2/2] fixed builds --- ACE/tests/Bug_2540_Regression_Test.cpp | 4 ++++ ACE/tests/Bug_2820_Regression_Test.cpp | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/ACE/tests/Bug_2540_Regression_Test.cpp b/ACE/tests/Bug_2540_Regression_Test.cpp index 5cfc8a5330398..7a12c5b9655eb 100644 --- a/ACE/tests/Bug_2540_Regression_Test.cpp +++ b/ACE/tests/Bug_2540_Regression_Test.cpp @@ -16,6 +16,10 @@ #include "ace/Select_Reactor.h" #include "ace/Auto_Ptr.h" +#if defined ACE_HAS_CPP11 +#include +#endif + int const nhandlers = 3; /** diff --git a/ACE/tests/Bug_2820_Regression_Test.cpp b/ACE/tests/Bug_2820_Regression_Test.cpp index 8ef8f3a6b20d6..732a0c2690dbd 100644 --- a/ACE/tests/Bug_2820_Regression_Test.cpp +++ b/ACE/tests/Bug_2820_Regression_Test.cpp @@ -18,6 +18,10 @@ #include "ace/Reactor.h" #include "ace/Select_Reactor.h" +#if defined ACE_HAS_CPP11 +#include +#endif + /** * @class Simple_Handler *