[clang] [clang-tools-extra] [clang][analyzer] Add ReportInC99AndEarlier option to DeprecatedOrUnsafeBuf… (PR #168704)
Balázs Benics via cfe-commits
cfe-commits at lists.llvm.org
Fri Jan 9 05:25:06 PST 2026
================
@@ -1113,5 +1141,32 @@ REGISTER_CHECKER(rand)
REGISTER_CHECKER(vfork)
REGISTER_CHECKER(FloatLoopCounter)
REGISTER_CHECKER(UncheckedReturn)
-REGISTER_CHECKER(DeprecatedOrUnsafeBufferHandling)
+
+void ento::registerDeprecatedOrUnsafeBufferHandling(CheckerManager &Mgr) {
+ SecuritySyntaxChecker *Checker = Mgr.getChecker<SecuritySyntaxChecker>();
+ Checker->filter.check_DeprecatedOrUnsafeBufferHandling = true;
+ Checker->filter.checkName_DeprecatedOrUnsafeBufferHandling =
+ Mgr.getCurrentCheckerName();
+
+ // Parse ReportMode option (defaults to C11Only for backward compatibility)
+ StringRef ReportModeStr = Mgr.getAnalyzerOptions().getCheckerStringOption(
+ Mgr.getCurrentCheckerName(), "ReportMode");
+ if (ReportModeStr == "all")
+ Checker->filter.ReportMode = ReportPolicy::All;
+ else if (ReportModeStr == "actionable")
+ Checker->filter.ReportMode = ReportPolicy::Actionable;
+ else if (ReportModeStr == "c11-only")
+ Checker->filter.ReportMode = ReportPolicy::C11Only;
----------------
steakhal wrote:
This reminded me of `llvm::SwtringSwitch`
https://github.com/llvm/llvm-project/pull/168704
More information about the cfe-commits
mailing list