aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/clangtools
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@qt.io>2023-11-09 08:22:27 +0100
committerEike Ziller <eike.ziller@qt.io>2023-11-09 08:22:27 +0100
commit7bd99104e0077be05f1216c1cd335ff30fab953e (patch)
tree9d6970cf8cadd4835a0661c9f0834798d40f4c80 /src/plugins/clangtools
parent9a8531c22f5fa16d052725081363856b15657bf0 (diff)
parent4436e96f91e934473308b5115a3052a650d77e57 (diff)
Merge remote-tracking branch 'origin/12.0'
Diffstat (limited to 'src/plugins/clangtools')
-rw-r--r--src/plugins/clangtools/clangtoolrunner.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/plugins/clangtools/clangtoolrunner.cpp b/src/plugins/clangtools/clangtoolrunner.cpp
index d6ddae635b..8769fa5cf7 100644
--- a/src/plugins/clangtools/clangtoolrunner.cpp
+++ b/src/plugins/clangtools/clangtoolrunner.cpp
@@ -10,6 +10,7 @@
#include <coreplugin/icore.h>
#include <cppeditor/clangdiagnosticconfigsmodel.h>
+#include <cppeditor/cppprojectfile.h>
#include <cppeditor/cpptoolsreuse.h>
#include <extensionsystem/pluginmanager.h>
@@ -76,14 +77,17 @@ static QStringList checksArguments(const AnalyzeInputData &input)
return {};
}
-static QStringList clangArguments(const ClangDiagnosticConfig &diagnosticConfig,
- const QStringList &baseOptions)
+static QStringList clangArguments(const AnalyzeInputData &input)
{
QStringList arguments;
+ const ClangDiagnosticConfig &diagnosticConfig = input.config;
+ const QStringList &baseOptions = input.unit.arguments;
arguments << ClangDiagnosticConfigsModel::globalDiagnosticOptions()
<< (isClMode(baseOptions) ? clangArgsForCl(diagnosticConfig.clangOptions())
: diagnosticConfig.clangOptions())
<< baseOptions;
+ if (ProjectFile::isHeader(input.unit.file))
+ arguments << "-Wno-pragma-once-outside-header";
if (LOG().isDebugEnabled())
arguments << QLatin1String("-v");
@@ -157,7 +161,7 @@ GroupItem clangToolTask(const AnalyzeInputData &input,
const QStringList args = checksArguments(input)
+ mainToolArguments(data)
+ QStringList{"--"}
- + clangArguments(input.config, input.unit.arguments);
+ + clangArguments(input);
const CommandLine commandLine = {data.executable, args};
qCDebug(LOG).noquote() << "Starting" << commandLine.toUserOutput();