Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade minimum C++ requirement to C++17 #2070

Closed
jwillemsen opened this issue Apr 13, 2023 · 7 comments
Closed

Upgrade minimum C++ requirement to C++17 #2070

jwillemsen opened this issue Apr 13, 2023 · 7 comments

Comments

@jwillemsen
Copy link
Member

jwillemsen commented Apr 13, 2023

At some point we should upgrade to C++17 as minimum required C++ level

@ClausKlein
Copy link
Contributor

Sorry to say it, but there are still issues to fix:

bash-3.2$ git diff ACE TAO
diff --git a/ACE/tests/Reactor_Remove_Resume_Test_Dev_Poll.cpp b/ACE/tests/Reactor_Remove_Resume_Test_Dev_Poll.cpp
index e591a9b0159..61a46779914 100644
--- a/ACE/tests/Reactor_Remove_Resume_Test_Dev_Poll.cpp
+++ b/ACE/tests/Reactor_Remove_Resume_Test_Dev_Poll.cpp
@@ -375,7 +375,7 @@ dev_poll_reactor_factory ()
  *
  * Reactor test execution functor.
  */
-struct Run_Test : public std::unary_function<reactor_factory_type, void>
+struct Run_Test : public std::function<void(reactor_factory_type)>
 {
   /// Function call operator overload.
   void operator() (reactor_factory_type factory)
diff --git a/TAO/tests/Any/Recursive/client.cpp b/TAO/tests/Any/Recursive/client.cpp
index 142d5ac6e53..e030acbe376 100644
--- a/TAO/tests/Any/Recursive/client.cpp
+++ b/TAO/tests/Any/Recursive/client.cpp
@@ -399,7 +399,7 @@ directly_recursive_valuetype_typecodefactory_test (CORBA::ORB_ptr /* orb */,
  * Test method invocation functor.
  */
 template <typename T>
-struct Caller : public std::unary_function<T, void>
+struct Caller : public std::function<void(T)>
 {
   /// Constructor.
   Caller (CORBA::ORB_ptr o, Test::Hello_ptr h)
diff --git a/TAO/tests/Bug_2804_Regression/client.cpp b/TAO/tests/Bug_2804_Regression/client.cpp
index d852e043aa6..abee937b711 100644
--- a/TAO/tests/Bug_2804_Regression/client.cpp
+++ b/TAO/tests/Bug_2804_Regression/client.cpp
@@ -97,7 +97,7 @@ recursive_union_test (CORBA::ORB_ptr /* orb */,
  * Test method invocation functor.
  */
 template <typename T>
-struct Caller : public std::unary_function<T, void>
+struct Caller : public std::function<void(T)>
 {
   /// Constructor.
   Caller (CORBA::ORB_ptr o, Test::Hello_ptr h)
diff --git a/TAO/tests/Bug_2844_Regression/client.cpp b/TAO/tests/Bug_2844_Regression/client.cpp
index 29fe9fa32c2..7021b6ff0d9 100644
--- a/TAO/tests/Bug_2844_Regression/client.cpp
+++ b/TAO/tests/Bug_2844_Regression/client.cpp
@@ -96,7 +96,7 @@ nested_recursive_struct_test (CORBA::ORB_ptr /* orb */,
  * Test method invocation functor.
  */
 template <typename T>
-struct Caller : public std::unary_function<T, void>
+struct Caller : public std::function<void(T)>
 {
   /// Constructor.
   Caller (CORBA::ORB_ptr o, Test::Hello_ptr h)
diff --git a/TAO/tests/Bug_2918_Regression/client.cpp b/TAO/tests/Bug_2918_Regression/client.cpp
index 14f608c2f68..7a4d6ed1b5e 100644
--- a/TAO/tests/Bug_2918_Regression/client.cpp
+++ b/TAO/tests/Bug_2918_Regression/client.cpp
@@ -97,7 +97,7 @@ repeated_struct_test (CORBA::ORB_ptr /* orb */,
  * Test method invocation functor.
  */
 template <typename T>
-struct Caller : public std::unary_function<T, void>
+struct Caller : public std::function<void(T)>
 {
   /// Constructor.
   Caller (CORBA::ORB_ptr o, Test::Hello_ptr h)
diff --git a/TAO/tests/Bug_3919_Regression/client.cpp b/TAO/tests/Bug_3919_Regression/client.cpp
index 959d9b79f01..83e67ab411b 100644
--- a/TAO/tests/Bug_3919_Regression/client.cpp
+++ b/TAO/tests/Bug_3919_Regression/client.cpp
@@ -168,7 +168,7 @@ nested_recursive_typecode_test (CORBA::ORB_ptr /* orb */,
  * Test method invocation functor.
  */
 template <typename T>
-struct Caller : public std::unary_function<T, void>
+struct Caller : public std::function<void(T)>
 {
   /// Constructor.
   Caller (CORBA::ORB_ptr o, Test::Hello_ptr h)
(END)

@ClausKlein
Copy link
Contributor

ClausKlein commented Aug 18, 2023

And deprecated warnings on OSX build-macosx.log

@jwillemsen
Copy link
Member Author

Feel free to open a pull request with the proposed changes @ClausKlein

@ClausKlein
Copy link
Contributor

Feel free to open a pull request with the proposed changes @ClausKlein

#2097

@jwillemsen
Copy link
Member Author

See #2109

@jwillemsen
Copy link
Member Author

g++ 11 is the first release which has c++17 as default, for older versions we have to manually enable C++17

@jwillemsen
Copy link
Member Author

Done #2224

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

2 participants