diff --git a/lib/cppcheck.cpp b/lib/cppcheck.cpp index 5a05e6ff2272..8e8167242b49 100644 --- a/lib/cppcheck.cpp +++ b/lib/cppcheck.cpp @@ -1458,6 +1458,12 @@ void CppCheck::setClassification(ErrorMessage &errMsg) const { case Settings::ReportType::Autosar: errMsg.classification = getClassification(checkers::autosarInfo, guideline); return; + case Settings::ReportType::CertC: + errMsg.classification = getClassification(checkers::certCInfo, guideline); + return; + case Settings::ReportType::CertCpp: + errMsg.classification = getClassification(checkers::certCppInfo, guideline); + return; case Settings::ReportType::MisraC: { std::array split; @@ -1520,6 +1526,14 @@ void CppCheck::setGuideline(ErrorMessage &errMsg) const { errMsg.guideline = errId.substr(23); } return; + case Settings::ReportType::CertC: + case Settings::ReportType::CertCpp: + if (errId.rfind("premium-cert-", 0) == 0) { + errMsg.guideline = errId.substr(13); + std::transform(errMsg.guideline.begin(), errMsg.guideline.end(), + errMsg.guideline.begin(), static_cast(std::toupper)); + } + return; case Settings::ReportType::MisraC: if (errId.rfind("misra-c20", 0) == 0) { errMsg.guideline = errId.substr(errId.rfind("-") + 1);