git: 42fb28cef42e - main - Explicitly set CXXSTD to c++11 for old C++ code using std::auto_ptr<>.
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 05 Dec 2022 00:25:37 UTC
The branch main has been updated by jhb:
URL: https://cgit.FreeBSD.org/src/commit/?id=42fb28cef42e883d808c9efadd44016563248817
commit 42fb28cef42e883d808c9efadd44016563248817
Author: John Baldwin <jhb@FreeBSD.org>
AuthorDate: 2022-11-30 22:56:19 +0000
Commit: John Baldwin <jhb@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