From 49c421e5c43a30a2e84d532ab0752d77bcc8b33b Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Mon, 6 Dec 2021 15:37:50 +0100 Subject: [PATCH] ClangCodeModel: Prevent duplicate "/Tx" options Those trigger code model warnings. Fixes: QTCREATORBUG-26664 Change-Id: I0ed6b9edeeb94c8597b30c0be514d2b34dbedc49 Reviewed-by: Reviewed-by: Christian Stenger --- src/plugins/clangcodemodel/clangutils.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/plugins/clangcodemodel/clangutils.cpp b/src/plugins/clangcodemodel/clangutils.cpp index a089248d039..3e82ba85209 100644 --- a/src/plugins/clangcodemodel/clangutils.cpp +++ b/src/plugins/clangcodemodel/clangutils.cpp @@ -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)