1226586Sdim//===--- ClangCheckers.h - Provides builtin checkers ------------*- C++ -*-===//
2226586Sdim//
3226586Sdim//                     The LLVM Compiler Infrastructure
4226586Sdim//
5226586Sdim// This file is distributed under the University of Illinois Open Source
6226586Sdim// License. See LICENSE.TXT for details.
7226586Sdim//
8226586Sdim//===----------------------------------------------------------------------===//
9226586Sdim
10226586Sdim#include "clang/StaticAnalyzer/Checkers/ClangCheckers.h"
11226586Sdim#include "clang/StaticAnalyzer/Core/CheckerRegistry.h"
12226586Sdim
13226586Sdim// FIXME: This is only necessary as long as there are checker registration
14226586Sdim// functions that do additional work besides mgr.registerChecker<CLASS>().
15226586Sdim// The only checkers that currently do this are:
16226586Sdim// - NSAutoreleasePoolChecker
17226586Sdim// - NSErrorChecker
18226586Sdim// - ObjCAtSyncChecker
19226586Sdim// It's probably worth including this information in Checkers.td to minimize
20226586Sdim// boilerplate code.
21226586Sdim#include "ClangSACheckers.h"
22226586Sdim
23226586Sdimusing namespace clang;
24226586Sdimusing namespace ento;
25226586Sdim
26226586Sdimvoid ento::registerBuiltinCheckers(CheckerRegistry &registry) {
27226586Sdim#define GET_CHECKERS
28226586Sdim#define CHECKER(FULLNAME,CLASS,DESCFILE,HELPTEXT,GROUPINDEX,HIDDEN)    \
29226586Sdim  registry.addChecker(register##CLASS, FULLNAME, HELPTEXT);
30226586Sdim#include "Checkers.inc"
31226586Sdim#undef GET_CHECKERS
32226586Sdim}
33