mirror of
https://github.com/opnsense/src.git
synced 2026-02-27 03:40:37 -05:00
61 lines
1.9 KiB
C++
61 lines
1.9 KiB
C++
//==- LocalCheckers.h - Intra-Procedural+Flow-Sensitive Checkers -*- 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 the interface to call a set of intra-procedural (local)
|
|
// checkers that use flow/path-sensitive analyses to find bugs.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#ifndef LLVM_CLANG_ANALYSIS_LOCALCHECKERS_H
|
|
#define LLVM_CLANG_ANALYSIS_LOCALCHECKERS_H
|
|
|
|
namespace clang {
|
|
|
|
class CFG;
|
|
class Decl;
|
|
class Diagnostic;
|
|
class ASTContext;
|
|
class PathDiagnosticClient;
|
|
class GRTransferFuncs;
|
|
class BugType;
|
|
class LangOptions;
|
|
class ParentMap;
|
|
class LiveVariables;
|
|
class BugReporter;
|
|
class ObjCImplementationDecl;
|
|
class LangOptions;
|
|
class GRExprEngine;
|
|
class TranslationUnitDecl;
|
|
|
|
void CheckDeadStores(CFG &cfg, LiveVariables &L, ParentMap &map,
|
|
BugReporter& BR);
|
|
|
|
GRTransferFuncs* MakeCFRefCountTF(ASTContext& Ctx, bool GCEnabled,
|
|
const LangOptions& lopts);
|
|
|
|
void CheckObjCDealloc(const ObjCImplementationDecl* D, const LangOptions& L,
|
|
BugReporter& BR);
|
|
|
|
void CheckObjCInstMethSignature(const ObjCImplementationDecl *ID,
|
|
BugReporter& BR);
|
|
|
|
void CheckObjCUnusedIvar(const ObjCImplementationDecl *D, BugReporter& BR);
|
|
|
|
void RegisterAppleChecks(GRExprEngine& Eng, const Decl &D);
|
|
void RegisterExperimentalChecks(GRExprEngine &Eng);
|
|
void RegisterExperimentalInternalChecks(GRExprEngine &Eng);
|
|
|
|
void CheckLLVMConventions(TranslationUnitDecl &TU, BugReporter &BR);
|
|
void CheckSecuritySyntaxOnly(const Decl *D, BugReporter &BR);
|
|
void CheckSizeofPointer(const Decl *D, BugReporter &BR);
|
|
|
|
void RegisterCallInliner(GRExprEngine &Eng);
|
|
} // end namespace clang
|
|
|
|
#endif
|