git: 5e6befdaca51 - main - atf: Switch from std::auto_ptr<> to std::unique_ptr<>
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 16 Apr 2025 14:12:02 UTC
The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=5e6befdaca5194a8fb91b48d5f678942f22fa8f1 commit 5e6befdaca5194a8fb91b48d5f678942f22fa8f1 Author: John Baldwin <jhb@FreeBSD.org> AuthorDate: 2025-04-16 14:10:35 +0000 Commit: John Baldwin <jhb@FreeBSD.org> CommitDate: 2025-04-16 14:10:35 +0000 atf: Switch from std::auto_ptr<> to std::unique_ptr<> This mirrors upstream commit f053ab687f6e27aa264f599ecbfc5ef27ad4e2d3. Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D49789 --- contrib/atf/atf-c++/check.cpp | 4 ++-- contrib/atf/atf-c++/check.hpp | 4 ++-- contrib/atf/atf-c++/check_test.cpp | 22 +++++++++++----------- contrib/atf/atf-c++/detail/process_test.cpp | 8 ++++---- contrib/atf/atf-sh/atf-check.cpp | 8 ++++---- lib/atf/Makefile.inc | 3 --- lib/atf/libatf-c++/Makefile | 3 --- libexec/atf/atf-check/Makefile | 4 ---- libexec/atf/atf-sh/Makefile | 3 --- share/mk/atf.test.mk | 2 -- 10 files changed, 23 insertions(+), 38 deletions(-) diff --git a/contrib/atf/atf-c++/check.cpp b/contrib/atf/atf-c++/check.cpp index e4d7db4d49a6..5d8580023a15 100644 --- a/contrib/atf/atf-c++/check.cpp +++ b/contrib/atf/atf-c++/check.cpp @@ -141,7 +141,7 @@ impl::build_cxx_o(const std::string& sfile, const std::string& ofile, return success; } -std::auto_ptr< impl::check_result > +std::unique_ptr< impl::check_result > impl::exec(const atf::process::argv_array& argva) { atf_check_result_t result; @@ -150,5 +150,5 @@ impl::exec(const atf::process::argv_array& argva) if (atf_is_error(err)) throw_atf_error(err); - return std::auto_ptr< impl::check_result >(new impl::check_result(&result)); + return std::unique_ptr< impl::check_result >(new impl::check_result(&result)); } diff --git a/contrib/atf/atf-c++/check.hpp b/contrib/atf/atf-c++/check.hpp index 0144dedb2841..4d7f079d1ac1 100644 --- a/contrib/atf/atf-c++/check.hpp +++ b/contrib/atf/atf-c++/check.hpp @@ -71,7 +71,7 @@ class check_result { check_result(const atf_check_result_t* result); friend check_result test_constructor(const char* const*); - friend std::auto_ptr< check_result > exec(const atf::process::argv_array&); + friend std::unique_ptr< check_result > exec(const atf::process::argv_array&); public: //! @@ -120,7 +120,7 @@ bool build_cpp(const std::string&, const std::string&, const atf::process::argv_array&); bool build_cxx_o(const std::string&, const std::string&, const atf::process::argv_array&); -std::auto_ptr< check_result > exec(const atf::process::argv_array&); +std::unique_ptr< check_result > exec(const atf::process::argv_array&); // Useful for testing only. check_result test_constructor(void); diff --git a/contrib/atf/atf-c++/check_test.cpp b/contrib/atf/atf-c++/check_test.cpp index 7baf3fa19692..ecb5a9380e8f 100644 --- a/contrib/atf/atf-c++/check_test.cpp +++ b/contrib/atf/atf-c++/check_test.cpp @@ -52,7 +52,7 @@ extern "C" { // ------------------------------------------------------------------------ static -std::auto_ptr< atf::check::check_result > +std::unique_ptr< atf::check::check_result > do_exec(const atf::tests::tc* tc, const char* helper_name) { std::vector< std::string > argv; @@ -65,7 +65,7 @@ do_exec(const atf::tests::tc* tc, const char* helper_name) } static -std::auto_ptr< atf::check::check_result > +std::unique_ptr< atf::check::check_result > do_exec(const atf::tests::tc* tc, const char* helper_name, const char *carg2) { std::vector< std::string > argv; @@ -248,11 +248,11 @@ ATF_TEST_CASE_HEAD(exec_cleanup) } ATF_TEST_CASE_BODY(exec_cleanup) { - std::auto_ptr< atf::fs::path > out; - std::auto_ptr< atf::fs::path > err; + std::unique_ptr< atf::fs::path > out; + std::unique_ptr< atf::fs::path > err; { - std::auto_ptr< atf::check::check_result > r = + std::unique_ptr< atf::check::check_result > r = do_exec(this, "exit-success"); out.reset(new atf::fs::path(r->stdout_path())); err.reset(new atf::fs::path(r->stderr_path())); @@ -272,7 +272,7 @@ ATF_TEST_CASE_HEAD(exec_exitstatus) ATF_TEST_CASE_BODY(exec_exitstatus) { { - std::auto_ptr< atf::check::check_result > r = + std::unique_ptr< atf::check::check_result > r = do_exec(this, "exit-success"); ATF_REQUIRE(r->exited()); ATF_REQUIRE(!r->signaled()); @@ -280,7 +280,7 @@ ATF_TEST_CASE_BODY(exec_exitstatus) } { - std::auto_ptr< atf::check::check_result > r = + std::unique_ptr< atf::check::check_result > r = do_exec(this, "exit-failure"); ATF_REQUIRE(r->exited()); ATF_REQUIRE(!r->signaled()); @@ -288,7 +288,7 @@ ATF_TEST_CASE_BODY(exec_exitstatus) } { - std::auto_ptr< atf::check::check_result > r = + std::unique_ptr< atf::check::check_result > r = do_exec(this, "exit-signal"); ATF_REQUIRE(!r->exited()); ATF_REQUIRE(r->signaled()); @@ -321,12 +321,12 @@ ATF_TEST_CASE_HEAD(exec_stdout_stderr) } ATF_TEST_CASE_BODY(exec_stdout_stderr) { - std::auto_ptr< atf::check::check_result > r1 = + std::unique_ptr< atf::check::check_result > r1 = do_exec(this, "stdout-stderr", "result1"); ATF_REQUIRE(r1->exited()); ATF_REQUIRE_EQ(r1->exitcode(), EXIT_SUCCESS); - std::auto_ptr< atf::check::check_result > r2 = + std::unique_ptr< atf::check::check_result > r2 = do_exec(this, "stdout-stderr", "result2"); ATF_REQUIRE(r2->exited()); ATF_REQUIRE_EQ(r2->exitcode(), EXIT_SUCCESS); @@ -372,7 +372,7 @@ ATF_TEST_CASE_BODY(exec_unknown) argv.push_back("/foo/bar/non-existent"); atf::process::argv_array argva(argv); - std::auto_ptr< atf::check::check_result > r = atf::check::exec(argva); + std::unique_ptr< atf::check::check_result > r = atf::check::exec(argva); ATF_REQUIRE(r->exited()); ATF_REQUIRE_EQ(r->exitcode(), 127); } diff --git a/contrib/atf/atf-c++/detail/process_test.cpp b/contrib/atf/atf-c++/detail/process_test.cpp index 0686d2a1911c..97f9a08e2504 100644 --- a/contrib/atf/atf-c++/detail/process_test.cpp +++ b/contrib/atf/atf-c++/detail/process_test.cpp @@ -196,8 +196,8 @@ ATF_TEST_CASE_BODY(argv_array_assign) const char* const carray1[] = { "arg1", NULL }; const char* const carray2[] = { "arg1", "arg2", NULL }; - std::auto_ptr< argv_array > argv1(new argv_array(carray1)); - std::auto_ptr< argv_array > argv2(new argv_array(carray2)); + std::unique_ptr< argv_array > argv1(new argv_array(carray1)); + std::unique_ptr< argv_array > argv2(new argv_array(carray2)); *argv2 = *argv1; ATF_REQUIRE_EQ(argv2->size(), argv1->size()); @@ -226,8 +226,8 @@ ATF_TEST_CASE_BODY(argv_array_copy) const char* const carray[] = { "arg0", NULL }; - std::auto_ptr< argv_array > argv1(new argv_array(carray)); - std::auto_ptr< argv_array > argv2(new argv_array(*argv1)); + std::unique_ptr< argv_array > argv1(new argv_array(carray)); + std::unique_ptr< argv_array > argv2(new argv_array(*argv1)); ATF_REQUIRE_EQ(argv2->size(), argv1->size()); ATF_REQUIRE(std::strcmp((*argv2)[0], (*argv1)[0]) == 0); diff --git a/contrib/atf/atf-sh/atf-check.cpp b/contrib/atf/atf-sh/atf-check.cpp index 4cb1e33a005a..911e004432f3 100644 --- a/contrib/atf/atf-sh/atf-check.cpp +++ b/contrib/atf/atf-sh/atf-check.cpp @@ -108,7 +108,7 @@ struct output_check { }; class temp_file : public std::ostream { - std::auto_ptr< atf::fs::path > m_path; + std::unique_ptr< atf::fs::path > m_path; int m_fd; public: @@ -414,7 +414,7 @@ flatten_argv(char* const* argv) } static -std::auto_ptr< atf::check::check_result > +std::unique_ptr< atf::check::check_result > execute(const char* const* argv) { // TODO: This should go to stderr... but fixing it now may be hard as test @@ -430,7 +430,7 @@ execute(const char* const* argv) } static -std::auto_ptr< atf::check::check_result > +std::unique_ptr< atf::check::check_result > execute_with_shell(char* const* argv) { const std::string cmd = flatten_argv(argv); @@ -916,7 +916,7 @@ atf_check::main(void) m_stderr_checks.push_back(output_check(oc_empty, false, "")); do { - std::auto_ptr< atf::check::check_result > r = + std::unique_ptr< atf::check::check_result > r = m_xflag ? execute_with_shell(m_argv) : execute(m_argv); if ((run_status_checks(m_status_checks, *r) == false) || diff --git a/lib/atf/Makefile.inc b/lib/atf/Makefile.inc index c776c2f8f84e..f8f329842eb4 100644 --- a/lib/atf/Makefile.inc +++ b/lib/atf/Makefile.inc @@ -27,6 +27,3 @@ CFLAGS+= -DHAVE_CONFIG_H WARNS?= 3 - -# Permit use of auto_ptr for compilers defaulting to C++17 or later -CXXSTD= c++11 diff --git a/lib/atf/libatf-c++/Makefile b/lib/atf/libatf-c++/Makefile index 221a16657c2a..985a79b7dc03 100644 --- a/lib/atf/libatf-c++/Makefile +++ b/lib/atf/libatf-c++/Makefile @@ -48,9 +48,6 @@ CFLAGS+= -I. CFLAGS+= -DHAVE_CONFIG_H -# Silence warnings about usage of deprecated std::auto_ptr -CXXWARNFLAGS+= -Wno-deprecated-declarations - SRCS= application.cpp \ build.cpp \ check.cpp \ diff --git a/libexec/atf/atf-check/Makefile b/libexec/atf/atf-check/Makefile index e1ccdce95ec8..87d7a7cfdada 100644 --- a/libexec/atf/atf-check/Makefile +++ b/libexec/atf/atf-check/Makefile @@ -38,10 +38,6 @@ MAN= atf-check.1 CFLAGS+= -I${ATF} CFLAGS+= -DATF_SHELL='"/bin/sh"' -# Silence warnings about usage of deprecated std::auto_ptr -CXXWARNFLAGS+= -Wno-deprecated-declarations -CXXSTD= c++11 - LIBADD= atf_cxx HAS_TESTS= diff --git a/libexec/atf/atf-sh/Makefile b/libexec/atf/atf-sh/Makefile index 3c06afa446c4..ba949fd3072e 100644 --- a/libexec/atf/atf-sh/Makefile +++ b/libexec/atf/atf-sh/Makefile @@ -65,9 +65,6 @@ CFLAGS+= -DATF_PKGDATADIR='"${SHAREDIR}/atf"' CFLAGS+= -DATF_SHELL='"/bin/sh"' CFLAGS+= -I${ATF} -# Silence warnings about usage of deprecated std::auto_ptr -CXXWARNFLAGS+= -Wno-deprecated-declarations - LIBADD= atf_cxx FILESGROUPS= SUBR diff --git a/share/mk/atf.test.mk b/share/mk/atf.test.mk index f7696641ffb0..16dc836f5141 100644 --- a/share/mk/atf.test.mk +++ b/share/mk/atf.test.mk @@ -55,8 +55,6 @@ LDADD.${_T}+= ${LIBATF_CXX} ${LIBATF_C} .endif TEST_INTERFACE.${_T}= atf .endfor -# Silence warnings about usage of deprecated std::auto_ptr -CXXWARNFLAGS+= -Wno-deprecated-declarations .endif .if !empty(ATF_TESTS_SH)