Home | History | Annotate | Download | only in Checkers
      1 //===--- ClangCheckers.h - Provides builtin checkers ------------*- C++ -*-===//
      2 //
      3 //                     The LLVM Compiler Infrastructure
      4 //
      5 // This file is distributed under the University of Illinois Open Source
      6 // License. See LICENSE.TXT for details.
      7 //
      8 //===----------------------------------------------------------------------===//
      9 
     10 #include "clang/StaticAnalyzer/Checkers/ClangCheckers.h"
     11 #include "clang/StaticAnalyzer/Core/CheckerRegistry.h"
     12 
     13 // FIXME: This is only necessary as long as there are checker registration
     14 // functions that do additional work besides mgr.registerChecker<CLASS>().
     15 // The only checkers that currently do this are:
     16 // - NSAutoreleasePoolChecker
     17 // - NSErrorChecker
     18 // - ObjCAtSyncChecker
     19 // It's probably worth including this information in Checkers.td to minimize
     20 // boilerplate code.
     21 #include "ClangSACheckers.h"
     22 
     23 using namespace clang;
     24 using namespace ento;
     25 
     26 void ento::registerBuiltinCheckers(CheckerRegistry &registry) {
     27 #define GET_CHECKERS
     28 #define CHECKER(FULLNAME,CLASS,DESCFILE,HELPTEXT,GROUPINDEX,HIDDEN)    \
     29   registry.addChecker(register##CLASS, FULLNAME, HELPTEXT);
     30 #include "clang/StaticAnalyzer/Checkers/Checkers.inc"
     31 #undef GET_CHECKERS
     32 }
     33