⚠️ This is the documentation for an old userver version. Click here to switch to the latest version.
userver
C++ Async Framework v2.0
Documentation
API Groups
Namespaces
Reference
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
y
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
w
y
Variables
k
n
r
u
w
Typedefs
c
d
h
m
n
o
p
s
t
u
v
Enumerations
a
b
c
d
f
h
i
l
o
p
r
s
t
u
v
Class List
Class Index
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
y
~
Functions
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
y
~
Variables
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
Typedefs
Enumerations
Enumerator
Related Symbols
File List
File Members
All
e
i
l
r
t
u
Functions
Macros
e
i
l
r
t
u
Examples
Toggle main menu visibility
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
Concepts
Loading...
Searching...
No Matches
All results
tsan.hpp
Go to the documentation of this file.
1
#
pragma
once
2
3
/// @file userver/compiler/impl/tsan.hpp
4
/// @brief Defines USERVER_IMPL_HAS_TSAN to 1 and includes
5
/// <sanitizer/tsan_interface.h> if Thread Sanitizer is enabled; otherwise
6
/// defines USERVER_IMPL_HAS_TSAN to 0.
7
8
#
if
defined
(
__has_feature
)
9
10
#
if
__has_feature
(
thread_sanitizer
)
11
// NOLINTNEXTLINE(cppcoreguidelines-macro-usage)
12
#
define
USERVER_IMPL_HAS_TSAN
1
13
#
else
14
// NOLINTNEXTLINE(cppcoreguidelines-macro-usage)
15
#
define
USERVER_IMPL_HAS_TSAN
0
16
#
endif
17
18
#
else
19
// NOLINTNEXTLINE(cppcoreguidelines-macro-usage)
20
#
define
USERVER_IMPL_HAS_TSAN
0
21
#
endif
22
23
#
if
USERVER_IMPL_HAS_TSAN
24
#
include
<
sanitizer
/
tsan_interface
.
h
>
25
#
endif
26
27
#
if
USERVER_IMPL_HAS_TSAN
&&
!
defined
(
BOOST_USE_TSAN
)
28
#
error
Broken
CMake
:
thread
sanitizer
is
used
however
Boost
is
unaware
of
it
29
#
endif
30
31
#
if
!
USERVER_IMPL_HAS_TSAN
&&
defined
(
BOOST_USE_TSAN
)
32
#
error
Broken
CMake
:
thread
sanitizer
is
not
used
however
Boost
thinks
it
is
33
#
endif
34
35
#
ifdef
__clang__
36
// NOLINTNEXTLINE(cppcoreguidelines-macro-usage)
37
#
define
USERVER_IMPL_DISABLE_TSAN
__attribute__
(
(
no_sanitize_thread
)
)
38
#
else
39
// NOLINTNEXTLINE(cppcoreguidelines-macro-usage)
40
#
define
USERVER_IMPL_DISABLE_TSAN
41
#
endif
Docs version:
v1.0
,
v2.0
,
trunk/develop
userver
compiler
impl
tsan.hpp
Generated on Wed May 15 2024 22:31:50 for userver by
Doxygen
1.10.0