git: 442295c1fe84 - main - Silence GCC warnings when using libc++ headers.
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 30 Nov 2022 22:54:00 UTC
The branch main has been updated by jhb:
URL: https://cgit.FreeBSD.org/src/commit/?id=442295c1fe84b4dc3e4834acdbf4ede75affe3c4
commit 442295c1fe84b4dc3e4834acdbf4ede75affe3c4
Author: John Baldwin <jhb@FreeBSD.org>
AuthorDate: 2022-11-30 22:50:35 +0000
Commit: John Baldwin <jhb@FreeBSD.org>
CommitDate: 2022-11-30 22:53:29 +0000
Silence GCC warnings when using libc++ headers.
GCC 12 raises warnings about literal operator suffixes not preceded by
'_' in libc++ headers such as <string_view> as it doesn't recognize
libc++ headers being an implementation of the standard.
GCC 12 also warns about clang-specific pragmas in <locale>.
Disabling these warnings globally for all C++ code is not ideal, but
is a better option than patching libc++ headers to ignore these
warnings.
Reviewed by: emaste
Differential Revision: https://reviews.freebsd.org/D37530
---
share/mk/bsd.sys.mk | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/share/mk/bsd.sys.mk b/share/mk/bsd.sys.mk
index 18aecfbcc110..42290e96f859 100644
--- a/share/mk/bsd.sys.mk
+++ b/share/mk/bsd.sys.mk
@@ -217,6 +217,14 @@ CWARNFLAGS+= -Wno-error=overflow
.endif
.endif
+# GCC 12.1.0
+.if ${COMPILER_VERSION} >= 120100
+# These warnings are raised by headers in libc++ so are disabled
+# globally for all C++
+CXXWARNFLAGS+= -Wno-literal-suffix \
+ -Wno-error=unknown-pragmas
+.endif
+
# GCC produces false positives for functions that switch on an
# enum (GCC bug 87950)
CWARNFLAGS+= -Wno-return-type