|  | //=-- GRExprEngineExperimentalChecks.h ------------------------------*- C++ -*-= | 
|  | // | 
|  | //                     The LLVM Compiler Infrastructure | 
|  | // | 
|  | // This file is distributed under the University of Illinois Open Source | 
|  | // License. See LICENSE.TXT for details. | 
|  | // | 
|  | //===----------------------------------------------------------------------===// | 
|  | // | 
|  | //  This file defines functions to instantiate and register experimental | 
|  | //  checks in GRExprEngine. | 
|  | // | 
|  | //===----------------------------------------------------------------------===// | 
|  |  | 
|  | #include "GRExprEngineInternalChecks.h" | 
|  | #include "GRExprEngineExperimentalChecks.h" | 
|  | #include "clang/Checker/Checkers/LocalCheckers.h" | 
|  |  | 
|  | using namespace clang; | 
|  |  | 
|  | void clang::RegisterExperimentalChecks(GRExprEngine &Eng) { | 
|  | // These are checks that never belong as internal checks | 
|  | // within GRExprEngine. | 
|  | RegisterCStringChecker(Eng); | 
|  | RegisterMallocChecker(Eng); | 
|  | RegisterPthreadLockChecker(Eng); | 
|  | RegisterStreamChecker(Eng); | 
|  | RegisterUnreachableCodeChecker(Eng); | 
|  | } | 
|  |  | 
|  | void clang::RegisterExperimentalInternalChecks(GRExprEngine &Eng) { | 
|  | // These are internal checks that should eventually migrate to | 
|  | // RegisterInternalChecks() once they have been further tested. | 
|  |  | 
|  | // Note that this must be registered after ReturnStackAddresEngsChecker. | 
|  | RegisterReturnPointerRangeChecker(Eng); | 
|  |  | 
|  | RegisterArrayBoundChecker(Eng); | 
|  | RegisterCastSizeChecker(Eng); | 
|  | RegisterCastToStructChecker(Eng); | 
|  | RegisterFixedAddressChecker(Eng); | 
|  | RegisterPointerArithChecker(Eng); | 
|  | RegisterPointerSubChecker(Eng); | 
|  | } |