From 40d902b9ee0bfbb8fa30dc388610bd78e858f5fb Mon Sep 17 00:00:00 2001 From: Nikolai Kosjar Date: Tue, 4 Dec 2018 10:46:42 +0100 Subject: [PATCH] ProjectExplorer: Stop caching useless macro inspection report If there is a manually added compiler in "Menu: Tools > Options > Kits > Compilers" and either (1) "Apply" is clicked after Qt Creator start (2) or an invalid compiler path is inserted and "Apply" is clicked we don't have any macros. Thus, avoid populating the macro cache for this case. This avoids triggering SOFT ASSERT: "false && "__cplusplus is not predefined, assuming latest C++ we support."" in file toolchain.cpp, line 324 Change-Id: I23d20a24385824f4fa2ca6f39a8a04dc0eb0c308 Reviewed-by: Friedemann Kleint Reviewed-by: Christian Stenger Reviewed-by: Ivan Donchevskii --- src/plugins/projectexplorer/gcctoolchain.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/plugins/projectexplorer/gcctoolchain.cpp b/src/plugins/projectexplorer/gcctoolchain.cpp index 10102a794f1..936e9cd3279 100644 --- a/src/plugins/projectexplorer/gcctoolchain.cpp +++ b/src/plugins/projectexplorer/gcctoolchain.cpp @@ -1083,6 +1083,10 @@ void GccToolChainConfigWidget::applyImpl() tc->setDisplayName(displayName); // reset display name tc->setPlatformCodeGenFlags(splitString(m_platformCodeGenFlagsLineEdit->text())); tc->setPlatformLinkerFlags(splitString(m_platformLinkerFlagsLineEdit->text())); + + if (m_macros.isEmpty()) + return; + tc->m_predefinedMacrosCache ->insert(tc->platformCodeGenFlags(), ToolChain::MacroInspectionReport{m_macros,