clang
20.0.0git
Toggle main menu visibility
Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Functions
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Variables
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Typedefs
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
Enumerator
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Related Functions
:
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
z
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
Functions
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
x
y
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
Typedefs
_
a
b
c
d
e
f
g
h
i
k
l
m
o
p
q
r
s
t
u
v
w
Enumerations
_
a
b
c
f
g
i
l
m
n
o
p
r
s
t
v
Enumerator
_
a
b
c
d
e
f
h
i
k
l
m
n
o
p
r
s
t
u
v
w
Macros
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Examples
include
clang
StaticAnalyzer
Core
PathSensitive
BlockCounter.h
Go to the documentation of this file.
1
//==- BlockCounter.h - ADT for counting block visits ---------------*- C++ -*-//
2
//
3
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
// See https://llvm.org/LICENSE.txt for license information.
5
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
//
7
//===----------------------------------------------------------------------===//
8
//
9
// This file defines BlockCounter, an abstract data type used to count
10
// the number of times a given block has been visited along a path
11
// analyzed by CoreEngine.
12
//
13
//===----------------------------------------------------------------------===//
14
15
#ifndef LLVM_CLANG_STATICANALYZER_CORE_PATHSENSITIVE_BLOCKCOUNTER_H
16
#define LLVM_CLANG_STATICANALYZER_CORE_PATHSENSITIVE_BLOCKCOUNTER_H
17
18
#include "llvm/Support/Allocator.h"
19
20
namespace
clang
{
21
22
class
StackFrameContext;
23
24
namespace
ento {
25
26
/// \class BlockCounter
27
/// An abstract data type used to count the number of times a given
28
/// block has been visited along a path analyzed by CoreEngine.
29
class
BlockCounter
{
30
void
*Data;
31
32
BlockCounter
(
void
*
D
) :
Data
(
D
) {}
33
34
public
:
35
BlockCounter
() :
Data
(nullptr) {}
36
37
unsigned
getNumVisited
(
const
StackFrameContext
*CallSite,
38
unsigned
BlockID)
const
;
39
40
class
Factory
{
41
void
*F;
42
public
:
43
Factory
(llvm::BumpPtrAllocator& Alloc);
44
~Factory
();
45
46
BlockCounter
GetEmptyCounter
();
47
BlockCounter
IncrementCount
(
BlockCounter
BC,
48
const
StackFrameContext
*CallSite,
49
unsigned
BlockID);
50
};
51
52
friend
class
Factory
;
53
};
54
55
}
// end GR namespace
56
57
}
// end clang namespace
58
59
#endif
D
const Decl * D
Definition:
CheckExprLifetime.cpp:211
Data
const char * Data
Definition:
StandardLibrary.cpp:36
clang::StackFrameContext
It represents a stack frame of the call stack (based on CallEvent).
Definition:
AnalysisDeclContext.h:299
clang::ento::BlockCounter::Factory
Definition:
BlockCounter.h:40
clang::ento::BlockCounter::Factory::IncrementCount
BlockCounter IncrementCount(BlockCounter BC, const StackFrameContext *CallSite, unsigned BlockID)
Definition:
BlockCounter.cpp:73
clang::ento::BlockCounter::Factory::~Factory
~Factory()
Definition:
BlockCounter.cpp:68
clang::ento::BlockCounter::Factory::GetEmptyCounter
BlockCounter GetEmptyCounter()
Definition:
BlockCounter.cpp:82
clang::ento::BlockCounter
An abstract data type used to count the number of times a given block has been visited along a path a...
Definition:
BlockCounter.h:29
clang::ento::BlockCounter::getNumVisited
unsigned getNumVisited(const StackFrameContext *CallSite, unsigned BlockID) const
Definition:
BlockCounter.cpp:57
clang::ento::BlockCounter::BlockCounter
BlockCounter()
Definition:
BlockCounter.h:35
clang
The JSON file list parser is used to communicate input to InstallAPI.
Definition:
CalledOnceCheck.h:17
Generated on Sun Feb 9 2025 05:54:25 for clang by
1.9.6