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