From 4c0bbbae25a3252e28c05c68b258d177eae7c86f Mon Sep 17 00:00:00 2001 From: Mat Sutcliffe Date: Sat, 1 Dec 2018 17:41:18 +0000 Subject: [PATCH] Fixed warnings reported by Clang on Windows. --- mkspecs/features/warnings.pri | 3 ++- src/blackmisc/sequence.h | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/mkspecs/features/warnings.pri b/mkspecs/features/warnings.pri index e503dadf8..86663b55b 100644 --- a/mkspecs/features/warnings.pri +++ b/mkspecs/features/warnings.pri @@ -2,13 +2,14 @@ msvc:DEFINES *= _SCL_SECURE_NO_WARNINGS # swift standard warnings msvc:QMAKE_CXXFLAGS_WARN_ON *= /wd4351 /wd4661 -clang_cl:QMAKE_CXXFLAGS_WARN_ON *= -Wall -Wextra -Wno-unknown-pragmas -Wno-undefined-inline +clang_cl:QMAKE_CXXFLAGS_WARN_ON *= -Wall -Wextra -Wno-unknown-pragmas -Wno-undefined-inline -Wno-self-assign-overloaded gcc:QMAKE_CXXFLAGS_WARN_ON *= -Woverloaded-virtual gcc:QMAKE_CXXFLAGS_USE_PRECOMPILE = -Winvalid-pch $$QMAKE_CXXFLAGS_USE_PRECOMPILE # elevated warnings swiftConfig(allowNoisyWarnings) { clang { + QMAKE_CXXFLAGS_WARN_ON -= -Wno-self-assign-overloaded QMAKE_CXXFLAGS_WARN_ON *= -Weverything --system-header-prefix=$$[QT_INSTALL_HEADERS] QMAKE_CXXFLAGS_WARN_ON += -Wno-system-headers -Wno-c++98-compat-pedantic -Wno-class-varargs -Wno-covered-switch-default QMAKE_CXXFLAGS_WARN_ON += -Wno-documentation -Wno-documentation-unknown-command -Wno-double-promotion -Wno-exit-time-destructors diff --git a/src/blackmisc/sequence.h b/src/blackmisc/sequence.h index 666aea2b1..1feaff4ae 100644 --- a/src/blackmisc/sequence.h +++ b/src/blackmisc/sequence.h @@ -290,7 +290,7 @@ namespace BlackMisc int remove(const T &object) { const auto newEnd = std::remove(begin(), end(), object); - int count = std::distance(newEnd, end()); + const auto count = std::distance(newEnd, end()); erase(newEnd, end()); return count; } @@ -300,8 +300,8 @@ namespace BlackMisc template int removeIf(Predicate p) { - auto newEnd = std::remove_if(begin(), end(), p); - int count = std::distance(newEnd, end()); + const auto newEnd = std::remove_if(begin(), end(), p); + const auto count = std::distance(newEnd, end()); erase(newEnd, end()); return count; }