The branch main has been updated by jhb:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=42fb28cef42e883d808c9efadd44016563248817

commit 42fb28cef42e883d808c9efadd44016563248817
Author:     John Baldwin <j...@freebsd.org>
AuthorDate: 2022-11-30 22:56:19 +0000
Commit:     John Baldwin <j...@freebsd.org>
CommitDate: 2022-12-05 00:25:21 +0000

    Explicitly set CXXSTD to c++11 for old C++ code using std::auto_ptr<>.
    
    GCC 12 defaults to C++17 which removes (not just deprecates)
    std::auto_ptr<>.  Trying to use CXXSTD of c++03 doesn't work with
    libc++ headers, but c++11 does.
    
    Reviewed by:    brooks, imp, emaste
    Differential Revision:  https://reviews.freebsd.org/D37531
---
 lib/atf/Makefile.inc           | 3 +++
 lib/liblutok/Makefile          | 1 +
 libexec/atf/atf-check/Makefile | 1 +
 usr.bin/kyua/Makefile          | 1 +
 4 files changed, 6 insertions(+)

diff --git a/lib/atf/Makefile.inc b/lib/atf/Makefile.inc
index 392bbb23b236..5904a859a15c 100644
--- a/lib/atf/Makefile.inc
+++ b/lib/atf/Makefile.inc
@@ -28,3 +28,6 @@
 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/liblutok/Makefile b/lib/liblutok/Makefile
index dccbcaf773e4..0071d7b55070 100644
--- a/lib/liblutok/Makefile
+++ b/lib/liblutok/Makefile
@@ -22,5 +22,6 @@ SHLIB_MAJOR=  0
 
 # lutok uses auto_ptr
 CFLAGS+=       -Wno-deprecated-declarations
+CXXSTD=                c++11
 
 .include <bsd.lib.mk>
diff --git a/libexec/atf/atf-check/Makefile b/libexec/atf/atf-check/Makefile
index 6711d1744430..1a87a14f354d 100644
--- a/libexec/atf/atf-check/Makefile
+++ b/libexec/atf/atf-check/Makefile
@@ -41,6 +41,7 @@ CFLAGS+=      -DATF_SHELL='"/bin/sh"'
 
 # Silence warnings about usage of deprecated std::auto_ptr
 CXXWARNFLAGS+= -Wno-deprecated-declarations
+CXXSTD=                c++11
 
 LIBADD=                atf_cxx
 
diff --git a/usr.bin/kyua/Makefile b/usr.bin/kyua/Makefile
index 966927709a06..e23899afd1e5 100644
--- a/usr.bin/kyua/Makefile
+++ b/usr.bin/kyua/Makefile
@@ -37,6 +37,7 @@ CFLAGS+=      -I${SRCTOP}/contrib/lutok/include
 CFLAGS+=       -I${SRCTOP}/contrib/sqlite3
 # kyua uses auto_ptr
 CFLAGS+=       -Wno-deprecated-declarations
+CXXSTD=                c++11
 CFLAGS+=       -DHAVE_CONFIG_H
 
 # We compile the kyua libraries as part of the main executable as this saves

Reply via email to