|
reference, declaration → definition
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; };