Add Q_FALLTHROUGH for Qt < 5.8

... and make use of it.
With gcc 7, the new option -Wimplicit-fallthrough is introduced and
added to the -Wextra set, triggering dozens of warnings in our sources.
Therefore, we annotate all obviously intended fall-throughs. The ones
that are still left are unclear and need to be checked by the respective
maintainer.

Change-Id: I44ead33cd42a4b41c28ee5fcb5a31db272710bbc
Reviewed-by: Nikita Baryshnikov <nib952051@gmail.com>
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
Christian Kandeler
2017-07-14 13:44:33 +02:00
parent c9301e80bb
commit be2b3c91ae
16 changed files with 95 additions and 13 deletions

View File

@@ -26,6 +26,7 @@
#include "compileroptionsbuilder.h"
#include <projectexplorer/projectexplorerconstants.h>
#include <utils/qtcfallthrough.h>
#include <QDir>
#include <QRegularExpression>
@@ -201,7 +202,8 @@ static QStringList createLanguageOptionGcc(ProjectFile::Kind fileKind, bool objc
if (!objcExt) {
opts += QLatin1String("c++-header");
break;
} // else: fall-through!
}
Q_FALLTHROUGH();
case ProjectFile::ObjCHeader:
case ProjectFile::ObjCXXHeader:
opts += QLatin1String("objective-c++-header");
@@ -211,7 +213,8 @@ static QStringList createLanguageOptionGcc(ProjectFile::Kind fileKind, bool objc
if (!objcExt) {
opts += QLatin1String("c");
break;
} // else: fall-through!
}
Q_FALLTHROUGH();
case ProjectFile::ObjCSource:
opts += QLatin1String("objective-c");
break;
@@ -220,7 +223,8 @@ static QStringList createLanguageOptionGcc(ProjectFile::Kind fileKind, bool objc
if (!objcExt) {
opts += QLatin1String("c++");
break;
} // else: fall-through!
}
Q_FALLTHROUGH();
case ProjectFile::ObjCXXSource:
opts += QLatin1String("objective-c++");
break;