示例#1
0
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));
}
示例#3
0
void clang::RegisterReturnPointerRangeChecker(GRExprEngine &Eng) {
  Eng.registerCheck(new ReturnPointerRangeChecker());
}
示例#4
0
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());
}
示例#8
0
void clang::RegisterOSAtomicChecker(GRExprEngine &Eng) {
  Eng.registerCheck(new OSAtomicChecker());
}
示例#9
0
void clang::RegisterAttrNonNullChecker(GRExprEngine &Eng) {
  Eng.registerCheck(new AttrNonNullChecker());
}
void clang::RegisterCallInliner(GRExprEngine &Eng) {
  Eng.registerCheck(new CallInliner());
}
示例#11
0
void clang::RegisterDereferenceChecker(GRExprEngine &Eng) {
  Eng.registerCheck(new DereferenceChecker());
}
示例#12
0
void clang::RegisterUndefBranchChecker(GRExprEngine &Eng) {
  Eng.registerCheck(new UndefBranchChecker());
}
示例#13
0
void clang::RegisterDivZeroChecker(GRExprEngine &Eng) {
  Eng.registerCheck(new DivZeroChecker());
}
void clang::RegisterAdjustedReturnValueChecker(GRExprEngine &Eng) {
  Eng.registerCheck(new AdjustedReturnValueChecker());
}
示例#15
0
void clang::RegisterMacOSXAPIChecker(GRExprEngine &Eng) {
  if (Eng.getContext().Target.getTriple().getVendor() == llvm::Triple::Apple)
    Eng.registerCheck(new MacOSXAPIChecker());
}
示例#16
0
void clang::RegisterCastToStructChecker(GRExprEngine &Eng) {
  Eng.registerCheck(new CastToStructChecker());
}