clang  8.0.0svn
Classes | Namespaces | Macros | Typedefs | Enumerations
AnalyzerOptions.h File Reference
#include "clang/Basic/LLVM.h"
#include "llvm/ADT/IntrusiveRefCntPtr.h"
#include "llvm/ADT/Optional.h"
#include "llvm/ADT/StringMap.h"
#include "llvm/ADT/StringRef.h"
#include <string>
#include <utility>
#include <vector>
#include "clang/StaticAnalyzer/Core/Analyses.def"
#include "clang/StaticAnalyzer/Core/AnalyzerOptions.def"
Include dependency graph for AnalyzerOptions.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  clang::AnalyzerOptions
 Stores options for the analyzer from the command line. More...
 

Namespaces

 clang
 Dataflow Directional Tag Classes.
 
 clang::ento
 

Macros

#define ANALYSIS(NAME, CMDFLAG, DESC, SCOPE)   NAME,
 
#define ANALYSIS_STORE(NAME, CMDFLAG, DESC, CREATFN)   NAME##Model,
 
#define ANALYSIS_CONSTRAINTS(NAME, CMDFLAG, DESC, CREATFN)   NAME##Model,
 
#define ANALYSIS_DIAGNOSTICS(NAME, CMDFLAG, DESC, CREATFN)   PD_##NAME,
 
#define ANALYSIS_PURGE(NAME, CMDFLAG, DESC)   NAME,
 
#define ANALYSIS_INLINING_MODE(NAME, CMDFLAG, DESC)   NAME,
 
#define ANALYZER_OPTION(TYPE, NAME, CMDFLAG, DESC, DEFAULT_VAL)   Optional<TYPE> NAME;
 
#define ANALYZER_OPTION_DEPENDS_ON_USER_MODE(TYPE, NAME, CMDFLAG, DESC, SHALLOW_VAL, DEEP_VAL)   Optional<TYPE> NAME;
 
#define ANALYZER_OPTION_GEN_FN(TYPE, NAME, CMDFLAG, DESC, DEFAULT_VAL, CREATE_FN)
 
#define ANALYZER_OPTION_GEN_FN_DEPENDS_ON_USER_MODE( TYPE, NAME, CMDFLAG, DESC, SHALLOW_VAL, DEEP_VAL, CREATE_FN)
 

Typedefs

using clang::AnalyzerOptionsRef = IntrusiveRefCntPtr< AnalyzerOptions >
 

Enumerations

enum  clang::Analyses { clang::NumAnalyses }
 Analysis - Set of available source code analyses. More...
 
enum  clang::AnalysisStores { clang::NumStores }
 AnalysisStores - Set of available analysis store models. More...
 
enum  clang::AnalysisConstraints { clang::NumConstraints }
 AnalysisConstraints - Set of available constraint models. More...
 
enum  clang::AnalysisDiagClients { clang::PD_NONE, clang::NUM_ANALYSIS_DIAG_CLIENTS }
 AnalysisDiagClients - Set of available diagnostic clients for rendering analysis results. More...
 
enum  clang::AnalysisPurgeMode { clang::NumPurgeModes }
 AnalysisPurgeModes - Set of available strategies for dead symbol removal. More...
 
enum  clang::AnalysisInliningMode { clang::NumInliningModes }
 AnalysisInlineFunctionSelection - Set of inlining function selection heuristics. More...
 
enum  clang::CXXInlineableMemberKind { clang::CIMK_None, clang::CIMK_MemberFunctions, clang::CIMK_Constructors, clang::CIMK_Destructors }
 Describes the different kinds of C++ member functions which can be considered for inlining by the analyzer. More...
 
enum  clang::IPAKind {
  clang::IPAK_None = 1, clang::IPAK_BasicInlining = 2, clang::IPAK_Inlining = 3, clang::IPAK_DynamicDispatch = 4,
  clang::IPAK_DynamicDispatchBifurcate = 5
}
 Describes the different modes of inter-procedural analysis. More...
 
enum  clang::ExplorationStrategyKind {
  clang::ExplorationStrategyKind::DFS, clang::ExplorationStrategyKind::BFS, clang::ExplorationStrategyKind::UnexploredFirst, clang::ExplorationStrategyKind::UnexploredFirstQueue,
  clang::ExplorationStrategyKind::UnexploredFirstLocationQueue, clang::ExplorationStrategyKind::BFSBlockDFSContents
}
 
enum  clang::UserModeKind { clang::UMK_Shallow = 1, clang::UMK_Deep = 2 }
 Describes the kinds for high-level analyzer mode. More...
 

Macro Definition Documentation

◆ ANALYSIS

#define ANALYSIS (   NAME,
  CMDFLAG,
  DESC,
  SCOPE 
)    NAME,

Definition at line 37 of file AnalyzerOptions.h.

Referenced by GetDiagInfo().

◆ ANALYSIS_CONSTRAINTS

#define ANALYSIS_CONSTRAINTS (   NAME,
  CMDFLAG,
  DESC,
  CREATFN 
)    NAME##Model,

Definition at line 51 of file AnalyzerOptions.h.

◆ ANALYSIS_DIAGNOSTICS

#define ANALYSIS_DIAGNOSTICS (   NAME,
  CMDFLAG,
  DESC,
  CREATFN 
)    PD_##NAME,

Definition at line 59 of file AnalyzerOptions.h.

◆ ANALYSIS_INLINING_MODE

#define ANALYSIS_INLINING_MODE (   NAME,
  CMDFLAG,
  DESC 
)    NAME,

Definition at line 74 of file AnalyzerOptions.h.

◆ ANALYSIS_PURGE

#define ANALYSIS_PURGE (   NAME,
  CMDFLAG,
  DESC 
)    NAME,

Definition at line 67 of file AnalyzerOptions.h.

◆ ANALYSIS_STORE

#define ANALYSIS_STORE (   NAME,
  CMDFLAG,
  DESC,
  CREATFN 
)    NAME##Model,

Definition at line 44 of file AnalyzerOptions.h.

◆ ANALYZER_OPTION

#define ANALYZER_OPTION (   TYPE,
  NAME,
  CMDFLAG,
  DESC,
  DEFAULT_VAL 
)    Optional<TYPE> NAME;

Definition at line 225 of file AnalyzerOptions.h.

◆ ANALYZER_OPTION_DEPENDS_ON_USER_MODE

#define ANALYZER_OPTION_DEPENDS_ON_USER_MODE (   TYPE,
  NAME,
  CMDFLAG,
  DESC,
  SHALLOW_VAL,
  DEEP_VAL 
)    Optional<TYPE> NAME;

Definition at line 227 of file AnalyzerOptions.h.

◆ ANALYZER_OPTION_GEN_FN

#define ANALYZER_OPTION_GEN_FN (   TYPE,
  NAME,
  CMDFLAG,
  DESC,
  DEFAULT_VAL,
  CREATE_FN 
)
Value:
TYPE CREATE_FN() { \
initOption(NAME, CMDFLAG, DEFAULT_VAL); \
return NAME.getValue(); \
}
#define TYPE(DERIVED, BASE)
Definition: ASTFwd.h:27

Definition at line 311 of file AnalyzerOptions.h.

◆ ANALYZER_OPTION_GEN_FN_DEPENDS_ON_USER_MODE

#define ANALYZER_OPTION_GEN_FN_DEPENDS_ON_USER_MODE (   TYPE,
  NAME,
  CMDFLAG,
  DESC,
  SHALLOW_VAL,
  DEEP_VAL,
  CREATE_FN 
)
Value:
TYPE CREATE_FN() { \
switch (getUserMode()) { \
case UMK_Shallow: \
initOption(NAME, CMDFLAG, SHALLOW_VAL); \
break; \
case UMK_Deep: \
initOption(NAME, CMDFLAG, DEEP_VAL); \
break; \
} \
\
return NAME.getValue(); \
}
#define TYPE(DERIVED, BASE)
Definition: ASTFwd.h:27
Perform deep analyzes.
Perform shallow but fast analyzes.

Definition at line 318 of file AnalyzerOptions.h.