aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOrgad Shaneh <orgad.shaneh@audiocodes.com>2018-07-10 23:11:21 +0300
committerOrgad Shaneh <orgads@gmail.com>2018-07-13 06:21:28 +0000
commit10fc3595a314bbf5aab0514823b6516ccdb92055 (patch)
treecc5cca76cf939fea3727608d52dd4a5129b4762c
parent69f75036ab9eafa91f3321751f1ab3e5e1cf0c18 (diff)
Clang: Suppress class-memaccess warnings for GCC8
They appear a lot in Clang headers. Until this is fixed in Clang, suppress them. Change-Id: I5292ae442089aec3f52ba846ee21e0bd9e61d0cb Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
-rw-r--r--src/shared/clang/clang_installation.pri9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/shared/clang/clang_installation.pri b/src/shared/clang/clang_installation.pri
index b9cc4c9704..f9eea55606 100644
--- a/src/shared/clang/clang_installation.pri
+++ b/src/shared/clang/clang_installation.pri
@@ -107,6 +107,15 @@ isEmpty(LLVM_VERSION) {
"LLVM/Clang version >= 6.0.0 required, version provided: $$LLVM_VERSION")
LLVM_VERSION =
} else {
+ # CLANG-UPGRADE-CHECK: Remove suppression if this warning is resolved.
+ gcc {
+ # GCC6 shows full version (6.4.0), while GCC7 and up show only major version (8)
+ GCC_VERSION = $$system("$$QMAKE_CXX -dumpversion")
+ GCC_MAJOR_VERSION = $$section(GCC_VERSION, ., 0, 0)
+ # GCC8 warns about memset/memcpy for types with copy ctor. Clang has some of these.
+ greaterThan(GCC_MAJOR_VERSION, 7):QMAKE_CXXFLAGS += -Wno-class-memaccess
+ }
+
LLVM_LIBDIR = $$quote($$system($$llvm_config --libdir, lines))
LLVM_BINDIR = $$quote($$system($$llvm_config --bindir, lines))
LLVM_INCLUDEPATH = $$system($$llvm_config --includedir, lines)