From 99c267e5d406d21038e406da37d2382edafbbede Mon Sep 17 00:00:00 2001 From: firewave Date: Fri, 7 Mar 2025 15:15:11 +0100 Subject: [PATCH] do not call `ErrorLogger::reportProgress()` in case it is disabled --- lib/symboldatabase.cpp | 9 ++++++--- lib/templatesimplifier.cpp | 4 ++-- lib/tokenize.cpp | 7 +++++-- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/lib/symboldatabase.cpp b/lib/symboldatabase.cpp index 275a3a59ab5..9fecba5316c 100644 --- a/lib/symboldatabase.cpp +++ b/lib/symboldatabase.cpp @@ -169,12 +169,15 @@ void SymbolDatabase::createSymbolDatabaseFindAllScopes() // Store current access in each scope (depends on evaluation progress) std::map access; + const bool doProgress = (mSettings.reportProgress != -1); + // find all scopes for (const Token *tok = mTokenizer.tokens(); tok; tok = tok ? tok->next() : nullptr) { // #5593 suggested to add here: - mErrorLogger.reportProgress(mTokenizer.list.getSourceFilePath(), - "SymbolDatabase", - tok->progressValue()); + if (doProgress) + mErrorLogger.reportProgress(mTokenizer.list.getSourceFilePath(), + "SymbolDatabase", + tok->progressValue()); // Locate next class if ((tok->isCpp() && tok->isKeyword() && ((Token::Match(tok, "class|struct|union|namespace ::| %name% final| {|:|::|<") && diff --git a/lib/templatesimplifier.cpp b/lib/templatesimplifier.cpp index b9197b770be..1f9f0b04210 100644 --- a/lib/templatesimplifier.cpp +++ b/lib/templatesimplifier.cpp @@ -3186,7 +3186,7 @@ bool TemplateSimplifier::simplifyTemplateInstantiations( continue; Token * const tok2 = instantiation.token(); - if (!mTokenList.getFiles().empty()) + if ((mSettings.reportProgress != -1) && !mTokenList.getFiles().empty()) mErrorLogger.reportProgress(mTokenList.getFiles()[0], "TemplateSimplifier::simplifyTemplateInstantiations()", tok2->progressValue()); if (maxtime > 0 && std::time(nullptr) > maxtime) { @@ -3262,7 +3262,7 @@ bool TemplateSimplifier::simplifyTemplateInstantiations( // TODO: remove the specialized check and handle all uninstantiated templates someday. if (!instantiated && specialized) { auto * tok2 = const_cast(templateDeclaration.nameToken()); - if (!mTokenList.getFiles().empty()) + if ((mSettings.reportProgress != -1) && !mTokenList.getFiles().empty()) mErrorLogger.reportProgress(mTokenList.getFiles()[0], "TemplateSimplifier::simplifyTemplateInstantiations()", tok2->progressValue()); if (maxtime > 0 && std::time(nullptr) > maxtime) { diff --git a/lib/tokenize.cpp b/lib/tokenize.cpp index 5a1b8df30e1..d56caa15115 100644 --- a/lib/tokenize.cpp +++ b/lib/tokenize.cpp @@ -1161,9 +1161,10 @@ void Tokenizer::simplifyTypedefCpp() simplifyUsingToTypedef(); const std::time_t maxTime = mSettings.typedefMaxTime > 0 ? std::time(nullptr) + mSettings.typedefMaxTime: 0; + const bool doProgress = (mSettings.reportProgress != -1) && !list.getFiles().empty(); for (Token *tok = list.front(); tok; tok = tok->next()) { - if (!list.getFiles().empty()) + if (doProgress) mErrorLogger.reportProgress(list.getFiles()[0], "Tokenize (typedef)", tok->progressValue()); if (Settings::terminated()) @@ -2879,8 +2880,10 @@ bool Tokenizer::simplifyUsing() }; std::list usingList; + const bool doProgress = (mSettings.reportProgress != -1) && !list.getFiles().empty(); + for (Token *tok = list.front(); tok; tok = tok->next()) { - if (!list.getFiles().empty()) + if (doProgress) mErrorLogger.reportProgress(list.getFiles()[0], "Tokenize (using)", tok->progressValue()); if (Settings::terminated())