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 registerBuiltinCheckers(CheckerRegistry & registry)26void ento::registerBuiltinCheckers(CheckerRegistry ®istry) { 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