Skip to content

Commit

Permalink
test2
Browse files Browse the repository at this point in the history
  • Loading branch information
danmar committed Sep 7, 2024
1 parent f07950b commit 44e6084
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 5 deletions.
2 changes: 1 addition & 1 deletion cli/cppcheckexecutor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -301,7 +301,7 @@ int CppCheckExecutor::check_internal(const Settings& settings) const
#endif
}

returnValue |= cppcheck.analyseWholeProgram(settings.buildDir, mFiles, mFileSettings, "");
returnValue |= cppcheck.analyseWholeProgram(settings.buildDir, mFiles, mFileSettings, stdLogger.getCtuInfo());

if (settings.severity.isEnabled(Severity::information) || settings.checkConfiguration) {
const bool err = reportSuppressions(settings, suppressions, settings.checks.isEnabled(Checks::unusedFunction), mFiles, mFileSettings, stdLogger);
Expand Down
22 changes: 18 additions & 4 deletions lib/cppcheck.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1426,6 +1426,8 @@ void CppCheck::executeAddons(const std::vector<std::string>& files, const std::s
// ensure all addons have already been resolved - TODO: remove when settings are const after creation
assert(mSettings.addonInfos.size() == mSettings.addons.size());

std::string ctuInfo;

for (const AddonInfo &addonInfo : mSettings.addonInfos) {
if (addonInfo.name != "misra" && !addonInfo.ctu && endsWith(files.back(), ".ctu-info"))
continue;
Expand All @@ -1444,10 +1446,14 @@ void CppCheck::executeAddons(const std::vector<std::string>& files, const std::s

if (obj.count("summary") > 0) {
if (obj.count("data") > 0) {
errmsg.severity = Severity::internal;
errmsg.id = "ctuinfo";
errmsg.setmsg(res.serialize());
reportErr(errmsg);
if (!mSettings.buildDir.empty()) {
ctuInfo += res.serialize();
} else {
errmsg.severity = Severity::internal;
errmsg.id = "ctuinfo";
errmsg.setmsg(res.serialize());
reportErr(errmsg);
}
}
continue;
}
Expand Down Expand Up @@ -1490,6 +1496,12 @@ void CppCheck::executeAddons(const std::vector<std::string>& files, const std::s
reportErr(errmsg);
}
}

if (!mSettings.buildDir.empty() && fileList.empty()) {
const std::string& ctuInfoFile = getCtuInfoFileName(files[0]);
std::ofstream fout(ctuInfoFile);
fout << ctuInfo;
}
}

void CppCheck::executeAddonsWholeProgram(const std::list<FileWithDetails> &files, const std::list<FileSettings>& fileSettings, const std::string& ctuInfo)
Expand All @@ -1503,7 +1515,9 @@ void CppCheck::executeAddonsWholeProgram(const std::list<FileWithDetails> &files
files.addFile(fileName);
std::ofstream fout(fileName);
fout << ctuInfo;
fout.close();
executeAddons({fileName}, "");
return;
}

std::vector<std::string> ctuInfoFiles;
Expand Down

0 comments on commit 44e6084

Please sign in to comment.