Skip to content

Commit

Permalink
suppress pragma once diagnostics on header files
Browse files Browse the repository at this point in the history
  • Loading branch information
arBmind committed Nov 7, 2020
1 parent 0b1807e commit fc24ac3
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 0 deletions.
5 changes: 5 additions & 0 deletions src/plugins/clangcodemodel/clangeditordocumentprocessor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -455,6 +455,7 @@ class FileOptionsBuilder

addLanguageOptions();
addGlobalDiagnosticOptions(); // Before addDiagnosticOptions() so users still can overwrite.
if (filePath.endsWith(".h")) addHeaderDiagnosticOptions();
addDiagnosticOptions();
addGlobalOptions();
addPrecompiledHeaderOptions();
Expand Down Expand Up @@ -519,6 +520,10 @@ class FileOptionsBuilder
{
m_options += CppTools::ClangDiagnosticConfigsModel::globalDiagnosticOptions();
}
void addHeaderDiagnosticOptions()
{
m_options += QStringLiteral("-Wno-pragma-once-outside-header");
}

void addGlobalOptions()
{
Expand Down
9 changes: 9 additions & 0 deletions src/plugins/clangtools/clangtidyclazyrunner.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,13 @@ static QStringList tidyChecksArguments(const ClangDiagnosticConfig diagnosticCon
return {"--warnings-as-errors=-*"};
}

static QStringList clangHeaderArguments(const QString file) {
if (file.endsWith(".h")) {
return {"-Wno-pragma-once-outside-header"};
}
else return {};
}

static QStringList clazyChecksArguments(const ClangDiagnosticConfig diagnosticConfig)
{
const QString clazyChecks = diagnosticConfig.clazyChecks();
Expand Down Expand Up @@ -97,6 +104,7 @@ ClangTidyRunner::ClangTidyRunner(const ClangDiagnosticConfig &config, QObject *p
return QStringList() << tidyChecksArguments(config)
<< mainToolArguments()
<< "--"
<< clangHeaderArguments(fileToAnalyze())
<< clangArguments(config, baseOptions);
});
}
Expand All @@ -111,6 +119,7 @@ ClazyStandaloneRunner::ClazyStandaloneRunner(const ClangDiagnosticConfig &config
return QStringList() << clazyChecksArguments(config)
<< mainToolArguments()
<< "--"
<< clangHeaderArguments(fileToAnalyze())
<< clangArguments(config, baseOptions);
});
}
Expand Down

0 comments on commit fc24ac3

Please sign in to comment.