ClangCodeModel: Prevent duplicate "/Tx" options

Those trigger code model warnings.

Fixes: QTCREATORBUG-26664
Change-Id: I0ed6b9edeeb94c8597b30c0be514d2b34dbedc49
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
Christian Kandeler
2021-12-06 15:37:50 +01:00
parent e8b471dc8e
commit 49c421e5c4

View File

@@ -581,7 +581,15 @@ QStringList createClangOptions(const ProjectPart &projectPart, const QString &fi
LibClangOptionsBuilder optionsBuilder(projectPart, fileOptions.useBuildSystemWarnings());
const QStringList projectPartOptions = optionsBuilder.build(CppEditor::ProjectFile::Unsupported,
UsePrecompiledHeaders::No);
return projectPartOptions + fileOptions.options();
// FIXME: Sanitize FileOptionsBuilder instead.
QStringList fileArgs = fileOptions.options();
if (projectPartOptions.contains("-TP"))
fileArgs.removeAll("/TP");
if (projectPartOptions.contains("-TC"))
fileArgs.removeAll("/TC");
return projectPartOptions + fileArgs;
}
ClangDiagnosticConfig warningsConfigForProject(Project *project)