=?utf-8?q?Balázs_Kéri?= <balazs.k...@ericsson.com> Message-ID: In-Reply-To: <llvm.org/llvm/llvm-project/pull/122...@github.com>
================ @@ -351,12 +356,30 @@ void DereferenceChecker::checkBind(SVal L, SVal V, const Stmt *S, C.addTransition(State, this); } -void ento::registerDereferenceChecker(CheckerManager &mgr) { - auto *Chk = mgr.registerChecker<DereferenceChecker>(); - Chk->SuppressAddressSpaces = mgr.getAnalyzerOptions().getCheckerBooleanOption( - mgr.getCurrentCheckerName(), "SuppressAddressSpaces"); +void ento::registerDereferenceModeling(CheckerManager &Mgr) { + Mgr.registerChecker<DereferenceChecker>(); +} + +bool ento::shouldRegisterDereferenceModeling(const CheckerManager &Mgr) { + return true; +} + +void ento::registerNullDereferenceChecker(CheckerManager &Mgr) { + auto *Chk = Mgr.getChecker<DereferenceChecker>(); + Chk->CheckNullDereference = true; + Chk->SuppressAddressSpaces = Mgr.getAnalyzerOptions().getCheckerBooleanOption( + Mgr.getCurrentCheckerName(), "SuppressAddressSpaces"); + Chk->BT_Null.reset(new BugType(Mgr.getCurrentCheckerName(), + "Dereference of null pointer", + categories::LogicError)); + Chk->BT_Undef.reset(new BugType(Mgr.getCurrentCheckerName(), + "Dereference of undefined pointer value", + categories::LogicError)); + Chk->BT_Label.reset(new BugType(Mgr.getCurrentCheckerName(), + "Dereference of the address of a label", + categories::LogicError)); } -bool ento::shouldRegisterDereferenceChecker(const CheckerManager &mgr) { +bool ento::shouldRegisterNullDereferenceChecker(const CheckerManager &Mgr) { ---------------- steakhal wrote: ```suggestion bool ento::shouldRegisterNullDereferenceChecker(const CheckerManager &) { ``` https://github.com/llvm/llvm-project/pull/122139 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits