void clang::RegisterNSAutoreleasePoolChecks(GRExprEngine &Eng) { ASTContext &Ctx = Eng.getContext(); if (Ctx.getLangOptions().getGCMode() != LangOptions::NonGC) { Eng.registerCheck(new NSAutoreleasePoolChecker(GetNullarySelector("release", Ctx))); } }
void clang::RegisterAppleChecks(GRExprEngine& Eng, const Decl &D) { ASTContext& Ctx = Eng.getContext(); BugReporter &BR = Eng.getBugReporter(); Eng.AddCheck(CreateBasicObjCFoundationChecks(Ctx, BR), Stmt::ObjCMessageExprClass); Eng.AddCheck(CreateAuditCFNumberCreate(Ctx, BR), Stmt::CallExprClass); Eng.AddCheck(CreateAuditCFRetainRelease(Ctx, BR), Stmt::CallExprClass); RegisterNSErrorChecks(BR, Eng, D); RegisterNSAutoreleasePoolChecks(Eng); Eng.registerCheck(new ClassReleaseChecker(Ctx)); }
void clang::RegisterReturnPointerRangeChecker(GRExprEngine &Eng) { Eng.registerCheck(new ReturnPointerRangeChecker()); }
void clang::RegisterVLASizeChecker(GRExprEngine &Eng) { Eng.registerCheck(new VLASizeChecker()); }
void clang::RegisterReturnUndefChecker(GRExprEngine &Eng) { Eng.registerCheck(new ReturnUndefChecker()); }
void clang::RegisterFixedAddressChecker(GRExprEngine &Eng) { Eng.registerCheck(new FixedAddressChecker()); }
void clang::RegisterUndefinedArraySubscriptChecker(GRExprEngine &Eng) { Eng.registerCheck(new UndefinedArraySubscriptChecker()); }
void clang::RegisterOSAtomicChecker(GRExprEngine &Eng) { Eng.registerCheck(new OSAtomicChecker()); }
void clang::RegisterAttrNonNullChecker(GRExprEngine &Eng) { Eng.registerCheck(new AttrNonNullChecker()); }
void clang::RegisterCallInliner(GRExprEngine &Eng) { Eng.registerCheck(new CallInliner()); }
void clang::RegisterDereferenceChecker(GRExprEngine &Eng) { Eng.registerCheck(new DereferenceChecker()); }
void clang::RegisterUndefBranchChecker(GRExprEngine &Eng) { Eng.registerCheck(new UndefBranchChecker()); }
void clang::RegisterDivZeroChecker(GRExprEngine &Eng) { Eng.registerCheck(new DivZeroChecker()); }
void clang::RegisterAdjustedReturnValueChecker(GRExprEngine &Eng) { Eng.registerCheck(new AdjustedReturnValueChecker()); }
void clang::RegisterMacOSXAPIChecker(GRExprEngine &Eng) { if (Eng.getContext().Target.getTriple().getVendor() == llvm::Triple::Apple) Eng.registerCheck(new MacOSXAPIChecker()); }
void clang::RegisterCastToStructChecker(GRExprEngine &Eng) { Eng.registerCheck(new CastToStructChecker()); }