Clang: Avoid warnings about unknown pragmas

Task-number: QTCREATORBUG-17460
Change-Id: Ic57f59f87b58c44ac738fb87039b4844d82bc924
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
Nikolai Kosjar
2017-03-24 11:05:22 +01:00
parent d5f242f3d6
commit 7d39f94f3d

View File

@@ -33,6 +33,11 @@
namespace CppTools { namespace CppTools {
static QStringList commonOptions()
{
return { QStringLiteral("-Wno-unknown-pragmas") };
}
static void addConfigForQuestionableConstructs(ClangDiagnosticConfigsModel &model) static void addConfigForQuestionableConstructs(ClangDiagnosticConfigsModel &model)
{ {
ClangDiagnosticConfig config; ClangDiagnosticConfig config;
@@ -40,10 +45,10 @@ static void addConfigForQuestionableConstructs(ClangDiagnosticConfigsModel &mode
config.setDisplayName(QCoreApplication::translate("ClangDiagnosticConfigsModel", config.setDisplayName(QCoreApplication::translate("ClangDiagnosticConfigsModel",
"Warnings for questionable constructs")); "Warnings for questionable constructs"));
config.setIsReadOnly(true); config.setIsReadOnly(true);
config.setCommandLineOptions({ config.setCommandLineOptions(QStringList{
QStringLiteral("-Wall"), QStringLiteral("-Wall"),
QStringLiteral("-Wextra"), QStringLiteral("-Wextra"),
}); } + commonOptions());
model.appendOrUpdate(config); model.appendOrUpdate(config);
} }
@@ -55,7 +60,7 @@ static void addConfigForPedanticWarnings(ClangDiagnosticConfigsModel &model)
config.setDisplayName(QCoreApplication::translate("ClangDiagnosticConfigsModel", config.setDisplayName(QCoreApplication::translate("ClangDiagnosticConfigsModel",
"Pedantic Warnings")); "Pedantic Warnings"));
config.setIsReadOnly(true); config.setIsReadOnly(true);
config.setCommandLineOptions({QStringLiteral("-Wpedantic")}); config.setCommandLineOptions(QStringList{QStringLiteral("-Wpedantic")} + commonOptions());
model.appendOrUpdate(config); model.appendOrUpdate(config);
} }
@@ -67,7 +72,7 @@ static void addConfigForAlmostEveryWarning(ClangDiagnosticConfigsModel &model)
config.setDisplayName(QCoreApplication::translate("ClangDiagnosticConfigsModel", config.setDisplayName(QCoreApplication::translate("ClangDiagnosticConfigsModel",
"Warnings for almost everything")); "Warnings for almost everything"));
config.setIsReadOnly(true); config.setIsReadOnly(true);
config.setCommandLineOptions({ config.setCommandLineOptions(QStringList{
QStringLiteral("-Weverything"), QStringLiteral("-Weverything"),
QStringLiteral("-Wno-c++98-compat"), QStringLiteral("-Wno-c++98-compat"),
QStringLiteral("-Wno-c++98-compat-pedantic"), QStringLiteral("-Wno-c++98-compat-pedantic"),
@@ -79,7 +84,7 @@ static void addConfigForAlmostEveryWarning(ClangDiagnosticConfigsModel &model)
QStringLiteral("-Wno-documentation"), QStringLiteral("-Wno-documentation"),
QStringLiteral("-Wno-shadow"), QStringLiteral("-Wno-shadow"),
QStringLiteral("-Wno-missing-prototypes"), // Not optimal for C projects. QStringLiteral("-Wno-missing-prototypes"), // Not optimal for C projects.
}); } + commonOptions());
model.appendOrUpdate(config); model.appendOrUpdate(config);
} }