@@ -1446,13 +1446,13 @@ void CppCheck::executeAddons(const std::vector<std::string>& files, const std::s
14461446 if (mSettings .addons .empty () || files.empty ())
14471447 return ;
14481448
1449- FilesDeleter filesDeleter ;
1449+ const bool isCtuInfo = endsWith (files[ 0 ], " .ctu-info " ) ;
14501450
1451+ FilesDeleter filesDeleter;
14511452 std::string fileList;
14521453
1453- if (files.size () >= 2 || endsWith (files[0 ], " .ctu-info" )) {
1454- // TODO: can this conflict when using -j?
1455- fileList = Path::getPathFromFilename (files[0 ]) + FILELIST;
1454+ if (files.size () >= 2 ) {
1455+ fileList = Path::getPathFromFilename (files[0 ]) + FILELIST + (" -" + std::to_string (mSettings .pid )) + " .txt" ;
14561456 std::ofstream fout (fileList);
14571457 filesDeleter.addFile (fileList);
14581458 // TODO: check if file could be created
@@ -1466,7 +1466,7 @@ void CppCheck::executeAddons(const std::vector<std::string>& files, const std::s
14661466 std::string ctuInfo;
14671467
14681468 for (const AddonInfo &addonInfo : mSettings .addonInfos ) {
1469- if (addonInfo.name != " misra" && !addonInfo.ctu && endsWith (files. back (), " .ctu-info " ) )
1469+ if (isCtuInfo && addonInfo.name != " misra" && !addonInfo.ctu )
14701470 continue ;
14711471
14721472 const std::vector<picojson::value> results =
@@ -1532,7 +1532,7 @@ void CppCheck::executeAddons(const std::vector<std::string>& files, const std::s
15321532 }
15331533 }
15341534
1535- if (!mSettings .buildDir .empty () && fileList. empty () ) {
1535+ if (!mSettings .buildDir .empty () && !isCtuInfo ) {
15361536 const std::string& ctuInfoFile = getCtuInfoFileName (files[0 ]);
15371537 std::ofstream fout (ctuInfoFile);
15381538 fout << ctuInfo;
0 commit comments