reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

Declarations

tools/clang/include/clang/Analysis/Analyses/CFGReachabilityAnalysis.h
   23 class CFG;
tools/clang/include/clang/Analysis/Analyses/LiveVariables.h
   22 class CFG;
tools/clang/include/clang/Analysis/Analyses/UninitializedValues.h
   23 class CFG;
tools/clang/include/clang/Analysis/CFG.h
   41 class CFG;
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h
   46 class CFG;

References

include/llvm/ADT/STLExtras.h
  154 auto adl_begin(ContainerTy &&container)
  162 auto adl_end(ContainerTy &&container)
  178 auto adl_begin(ContainerTy &&container)
  184 auto adl_end(ContainerTy &&container)
  244   static yes& test(Inner *I, decltype(I->rbegin()) * = nullptr);
  250   static const bool value = sizeof(test<Ty>(nullptr)) == sizeof(yes);
  261 auto reverse(ContainerTy &&C,
 1186 auto find(R &&Range, const T &Val) -> decltype(adl_begin(Range)) {
include/llvm/Support/GenericDomTreeConstruction.h
  563     auto *Parent = DT.Parent;
tools/clang/include/clang/Analysis/Analyses/CFGReachabilityAnalysis.h
   39   CFGReverseBlockReachabilityAnalysis(const CFG &cfg);
tools/clang/include/clang/Analysis/Analyses/Dominators.h
   50   CFGDominatorTreeImpl(CFG *cfg) {
   58   CFG *getCFG() { return cfg; }
   87   void buildDominatorTree(CFG *cfg) {
   97     for (CFG::const_iterator I = cfg->begin(),
  180   CFG *cfg;
  228   ControlDependencyCalculator(CFG *cfg)
  257     CFG *cfg = PostDomTree.getCFG();
tools/clang/include/clang/Analysis/Analyses/PostOrderCFGView.h
   47     CFGBlockSet(const CFG *G) : VisitedBlockIDs(G->getNumBlockIDs(), false) {}
   73   using po_iterator = llvm::po_iterator<const CFG *, CFGBlockSet, true>;
   85   PostOrderCFGView(const CFG *cfg);
tools/clang/include/clang/Analysis/Analyses/ThreadSafetyCommon.h
  102   void enterCFG(CFG *Cfg, const NamedDecl *D, const CFGBlock *First) {}
  252   const CFG *getGraph() const { return CFGraph; }
  253   CFG *getGraph() { return CFGraph; }
  262   CFG *CFGraph = nullptr;
  450   void enterCFG(CFG *Cfg, const NamedDecl *D, const CFGBlock *First);
tools/clang/include/clang/Analysis/Analyses/UninitializedValues.h
  124 void runUninitializedVariablesAnalysis(const DeclContext &dc, const CFG &cfg,
tools/clang/include/clang/Analysis/AnalysisDeclContext.h
   76   std::unique_ptr<CFG> cfg, completeCFG;
   79   CFG::BuildOptions cfgBuildOptions;
   80   CFG::BuildOptions::ForcedBlkExprs *forcedBlkExprs = nullptr;
   99                   const CFG::BuildOptions &BuildOptions);
  113   CFG::BuildOptions &getCFGBuildOptions() {
  117   const CFG::BuildOptions &getCFGBuildOptions() const {
  158   CFG *getCFG();
  165   CFG *getUnoptimizedCFG();
  253   CFG *getCFG() const { return getAnalysisDeclContext()->getCFG(); }
  445   CFG::BuildOptions cfgBuildOptions;
  481   CFG::BuildOptions &getCFGBuildOptions() {
tools/clang/include/clang/Analysis/CFG.h
  858   CFG *Parent;
  861   explicit CFGBlock(unsigned blockid, BumpVectorContext &C, CFG *parent)
 1077   CFG *getParent() const { return Parent; }
 1081   void dump(const CFG *cfg, const LangOptions &LO, bool ShowColors = false) const;
 1082   void print(raw_ostream &OS, const CFG* cfg, const LangOptions &LO,
 1273   static std::unique_ptr<CFG> buildCFG(const Decl *D, Stmt *AST, ASTContext *C,
 1528   using nodes_iterator = ::clang::CFG::iterator;
 1530   static NodeRef getEntryNode(::clang::CFG *F) { return &F->getEntry(); }
 1531   static nodes_iterator nodes_begin(::clang::CFG* F) { return F->nodes_begin();}
 1532   static nodes_iterator   nodes_end(::clang::CFG* F) { return F->nodes_end(); }
 1533   static unsigned              size(::clang::CFG* F) { return F->size(); }
 1538   using nodes_iterator = ::clang::CFG::const_iterator;
 1540   static NodeRef getEntryNode(const ::clang::CFG *F) { return &F->getEntry(); }
 1542   static nodes_iterator nodes_begin( const ::clang::CFG* F) {
 1546   static nodes_iterator nodes_end( const ::clang::CFG* F) {
 1550   static unsigned size(const ::clang::CFG* F) {
 1557   using nodes_iterator = ::clang::CFG::iterator;
 1559   static NodeRef getEntryNode(::clang::CFG *F) { return &F->getExit(); }
 1560   static nodes_iterator nodes_begin( ::clang::CFG* F) {return F->nodes_begin();}
 1561   static nodes_iterator nodes_end( ::clang::CFG* F) { return F->nodes_end(); }
 1566   using nodes_iterator = ::clang::CFG::const_iterator;
 1568   static NodeRef getEntryNode(const ::clang::CFG *F) { return &F->getExit(); }
 1570   static nodes_iterator nodes_begin(const ::clang::CFG* F) {
 1574   static nodes_iterator nodes_end(const ::clang::CFG* F) {
tools/clang/include/clang/Analysis/CFGStmtMap.h
   35   static CFGStmtMap *Build(CFG* C, ParentMap *PM);
tools/clang/include/clang/Analysis/ProgramPoint.h
  647     const CFG *CalleeCFG = CalleeCtx->getCFG();
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h
  104   CFG *getCFG(Decl const *D) {
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h
  156   CFG &getCFG() const { return *getLocationContext()->getCFG(); }
tools/clang/lib/Analysis/AnalysisDeclContext.cpp
   57                                          const CFG::BuildOptions &buildOptions)
  182     forcedBlkExprs = new CFG::BuildOptions::ForcedBlkExprs();
  194   CFG::BuildOptions::ForcedBlkExprs::const_iterator itr =
  202 static void addParentsForSyntheticStmts(const CFG *TheCFG, ParentMap &PM) {
  206   for (CFG::synthetic_stmt_iterator I = TheCFG->synthetic_stmt_begin(),
  213 CFG *AnalysisDeclContext::getCFG() {
  218     cfg = CFG::buildCFG(D, getBody(), &D->getASTContext(), cfgBuildOptions);
  232 CFG *AnalysisDeclContext::getUnoptimizedCFG() {
  237         CFG::buildCFG(D, getBody(), &D->getASTContext(), cfgBuildOptions);
  255   if (CFG *c = getCFG()) {
  267   if (CFG *c = getCFG()) {
tools/clang/lib/Analysis/CFG.cpp
  473   std::unique_ptr<CFG> cfg;
  517   const CFG::BuildOptions &BuildOpts;
  523   CFG::BuildOptions::ForcedBlkExprs::value_type *cachedEntry = nullptr;
  533                       const CFG::BuildOptions &buildOpts)
  534       : Context(astContext), cfg(new CFG()), // crew a new CFG
  539   std::unique_ptr<CFG> buildCFG(const Decl *D, Stmt *Statement);
 1309   CFG::BuildOptions::ForcedBlkExprs *fb = *BuildOpts.forcedBlkExprs;
 1317   CFG::BuildOptions::ForcedBlkExprs::iterator itr = fb->find(stmt);
 1479 std::unique_ptr<CFG> CFGBuilder::buildCFG(const Decl *D, Stmt *Statement) {
 4897 std::unique_ptr<CFG> CFG::buildCFG(const Decl *D, Stmt *Statement,
 5073   StmtPrinterHelper(const CFG* cfg, const LangOptions &LO)
 5077     for (CFG::const_iterator I = cfg->begin(), E = cfg->end(); I != E; ++I ) {
 5558 static void print_block(raw_ostream &OS, const CFG* cfg,
 5770 void CFGBlock::dump(const CFG* cfg, const LangOptions &LO,
 5781 void CFGBlock::print(raw_ostream &OS, const CFG* cfg,
 5834   const CFG &Cfg = *getParent();
 5983   static std::string getNodeLabel(const CFGBlock *Node, const CFG* Graph) {
tools/clang/lib/Analysis/CFGReachabilityAnalysis.cpp
   23     const CFG &cfg)
tools/clang/lib/Analysis/CFGStmtMap.cpp
   77 CFGStmtMap *CFGStmtMap::Build(CFG *C, ParentMap *PM) {
   85   for (CFG::iterator I = C->begin(), E = C->end(); I != E; ++I)
tools/clang/lib/Analysis/Consumed.cpp
 1309   CFG *CFGraph = AC.getCFG();
tools/clang/lib/Analysis/LiveVariables.cpp
   37   DataflowWorklist(const CFG &cfg, AnalysisDeclContext &Ctx)
  529   const CFG *cfg = getImpl(impl).analysisContext.getCFG();
  530   for (CFG::const_iterator it = cfg->begin(), ei = cfg->end(); it != ei; ++it)
  545   CFG *cfg = AC.getCFG();
  562   for (CFG::const_iterator it = cfg->begin(), ei = cfg->end(); it != ei; ++it) {
tools/clang/lib/Analysis/PostOrderCFGView.cpp
   21 PostOrderCFGView::PostOrderCFGView(const CFG *cfg) {
   33   const CFG *cfg = ctx.getCFG();
tools/clang/lib/Analysis/ReachableCode.cpp
  681   CFG *cfg = AC.getCFG();
  696     for (CFG::try_block_iterator I = cfg->try_blocks_begin(),
  706   for (CFG::iterator I = cfg->begin(), E = cfg->end(); I != E; ++I) {
tools/clang/lib/Analysis/ThreadSafety.cpp
  512   void traverseCFG(CFG *CFGraph, const PostOrderCFGView *SortedGraph,
  726 void LocalVariableMap::traverseCFG(CFG *CFGraph,
  810 static void findBlockLocations(CFG *CFGraph,
 2263   CFG *CFGraph = walker.getGraph();
tools/clang/lib/Analysis/ThreadSafetyCommon.cpp
  810 void SExprBuilder::enterCFG(CFG *Cfg, const NamedDecl *D,
tools/clang/lib/Analysis/UninitializedValues.cpp
  119   const CFG &cfg;
  125   CFGBlockValues(const CFG &cfg);
  157 CFGBlockValues::CFGBlockValues(const CFG &c) : cfg(c), vals(0) {}
  227   DataflowWorklist(const CFG &cfg, PostOrderCFGView &view)
  516   const CFG &cfg;
  524   TransferFunctions(CFGBlockValues &vals, const CFG &cfg,
  836 static bool runOnBlock(const CFGBlock *block, const CFG &cfg,
  903     const CFG &cfg,
tools/clang/lib/Sema/AnalysisBasedWarnings.cpp
  217 static bool checkForRecursiveFunctionCall(const FunctionDecl *FD, CFG *cfg) {
  263   CFG *cfg = AC.getCFG();
  282                          CFG *Body) {
  319     CFG *BodyCFG,
  358   CFG *BodyCFG = AC.getCFG();
  398   CFG *cfg = AC.getCFG();
 1054     void fillReachableBlocks(CFG *Cfg) {
 1263   CFG *Cfg = AC.getCFG();
 2188     if (CFG *cfg = AC.getCFG()) {
 2246     if (CFG *cfg = AC.getCFG()) {
tools/clang/lib/StaticAnalyzer/Checkers/AnalyzerStatsChecker.cpp
   43   const CFG *C = nullptr;
   74   for (CFG::const_iterator I = C->begin(); I != C->end(); ++I) {
tools/clang/lib/StaticAnalyzer/Checkers/DeadStoresChecker.cpp
   68   const CFG &cfg;
   71   ReachableCode(const CFG &cfg)
  133   const CFG &cfg;
  147   DeadStoreObs(const CFG &cfg, ASTContext &ctx, BugReporter &br,
  522     CFG &cfg = *mgr.getCFG(D);
tools/clang/lib/StaticAnalyzer/Checkers/DebugCheckers.cpp
  161     if (CFG *cfg = mgr.getCFG(D)) {
  190     if (CFG *cfg = mgr.getCFG(D)) {
tools/clang/lib/StaticAnalyzer/Checkers/MallocOverflowSecurityChecker.cpp
  299   CFG *cfg = mgr.getCFG(D);
  306   for (CFG::iterator it = cfg->begin(), ei = cfg->end(); it != ei; ++it) {
tools/clang/lib/StaticAnalyzer/Checkers/UnreachableCodeChecker.cpp
   57   CFG *C = nullptr;
   95   for (CFG::const_iterator I = C->begin(), E = C->end(); I != E; ++I) {
tools/clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
  373   const CFG *Cfg = ADC->getCFG();
  378   const CFG *Cfg = ADC->getCFG();
  383   const CFG *Cfg = ADC->getCFG();
  900   const CFG *CalleeCFG = CalleeADC->getCFG();
tools/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
  781   CFG *DeclCFG = Mgr->getCFG(D);
tools/clang/tools/extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp
   96   CFG::BuildOptions Options;
   99   std::unique_ptr<CFG> TheCFG =
  100       CFG::buildCFG(nullptr, FunctionBody, Context, Options);
tools/clang/tools/extra/clang-tidy/utils/ExprSequence.cpp
   65 ExprSequence::ExprSequence(const CFG *TheCFG, const Stmt *Root,
  186 StmtToBlockMap::StmtToBlockMap(const CFG *TheCFG, ASTContext *TheContext)
tools/clang/tools/extra/clang-tidy/utils/ExprSequence.h
   72   ExprSequence(const CFG *TheCFG, const Stmt *Root, ASTContext *TheContext);
  107   StmtToBlockMap(const CFG *TheCFG, ASTContext *TheContext);
tools/clang/unittests/Analysis/CFGBuildResult.h
   25   BuildResult(Status S, std::unique_ptr<CFG> Cfg = nullptr)
   29   CFG *getCFG() const { return Cfg.get(); }
   33   std::unique_ptr<CFG> Cfg;
   46     CFG::BuildOptions Options;
   48     if (std::unique_ptr<CFG> Cfg =
   49             CFG::buildCFG(nullptr, Body, Result.Context, Options))
tools/clang/unittests/Analysis/CFGDominatorTree.cpp
   34   CFG *cfg = Result.getCFG();
  123   CFG *cfg = Result.getCFG();
  177   CFG *cfg = Result.getCFG();
tools/clang/unittests/Analysis/CFGTest.cpp
   81   CFG *Cfg = B.getCFG();
usr/include/c++/7.4.0/bits/move.h
   72     constexpr _Tp&&
   83     constexpr _Tp&&
usr/include/c++/7.4.0/bits/range_access.h
   48     begin(_Container& __cont) -> decltype(__cont.begin())
   58     begin(const _Container& __cont) -> decltype(__cont.begin())
   68     end(_Container& __cont) -> decltype(__cont.end())
   78     end(const _Container& __cont) -> decltype(__cont.end())
usr/include/c++/7.4.0/bits/unique_ptr.h
   68         default_delete(const default_delete<_Up>&) noexcept { }
   72       operator()(_Tp* __ptr) const
   74 	static_assert(!is_void<_Tp>::value,
   76 	static_assert(sizeof(_Tp)>0,
  122 	  using type = _Up*;
  137       using pointer = typename _Ptr<_Tp, _Dp>::type;
  161 	typename __uniq_ptr_impl<_Tp, _Up>::_DeleterConstraint::type;
  163       __uniq_ptr_impl<_Tp, _Dp> _M_t;
  166       using pointer	  = typename __uniq_ptr_impl<_Tp, _Dp>::pointer;
  167       using element_type  = _Tp;
  252 	unique_ptr(unique_ptr<_Up, _Ep>&& __u) noexcept
  297           __safe_conversion_up<_Up, _Ep>,
  301 	operator=(unique_ptr<_Up, _Ep>&& __u) noexcept
usr/include/c++/7.4.0/type_traits
  215     : public __is_void_helper<typename remove_cv<_Tp>::type>::type
  581     : public __or_<is_lvalue_reference<_Tp>,
  582                    is_rvalue_reference<_Tp>>::type
  601     : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
  601     : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
  602                           is_void<_Tp>>>::type
  638     : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
  638     : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
 1554     { typedef _Tp     type; };
 1563     { typedef _Tp     type; };
 1574       remove_const<typename remove_volatile<_Tp>::type>::type     type;
 1633     { typedef _Tp   type; };
 1645     { typedef _Tp&   type; };
 1650     : public __add_lvalue_reference_helper<_Tp>
 1983     { typedef _Up     type; };