ATLAS Offline Software
Loading...
Searching...
No Matches
checker_macros.h
Go to the documentation of this file.
1// This file's extension implies that it's C, but it's really -*- C++ -*-.
2
3/*
4 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
5*/
6
43
44
45#ifndef CXXUTILS_CHECKER_MACROS_H
46#define CXXUTILS_CHECKER_MACROS_H
47
48
49#ifdef ATLAS_GCC_CHECKERS
50
51
60#define ATLAS_CHECK_FILE_THREAD_SAFETY _Pragma ("ATLAS check_thread_safety") \
61 class ATLAS_CHECK_FILE_THREAD_SAFETY_SWALLOW_SEMICOLON
62
63
75#define ATLAS_NO_CHECK_FILE_THREAD_SAFETY _Pragma ("ATLAS no_check_thread_safety") \
76 class ATLAS_CHECK_FILE_THREAD_SAFETY_SWALLOW_SEMICOLON
77
78
87#define ATLAS_CHECK_THREAD_SAFETY [[ATLAS::check_thread_safety]]
88
89
112#define ATLAS_THREAD_SAFE [[ATLAS::thread_safe]]
113
114
131#define ATLAS_NOT_THREAD_SAFE [[ATLAS::not_thread_safe]]
132
133
134
146#define ATLAS_CTORDTOR_NOT_THREAD_SAFE ATLAS_NOT_THREAD_SAFE
147
148
162#define ATLAS_NOT_REENTRANT [[ATLAS::not_reentrant]]
163
164
180#define ATLAS_NOT_CONST_THREAD_SAFE [[ATLAS::not_const_thread_safe]]
181
182
202#define ATLAS_ARGUMENT_NOT_CONST_THREAD_SAFE [[ATLAS::argument_not_const_thread_safe]]
203
204
205#else // not ATLAS_GCC_CHECKERS
206
207
208#define ATLAS_CHECK_FILE_THREAD_SAFETY class ATLAS_CHECK_FILE_THREAD_SAFETY_SWALLOW_SEMICOLON
209#define ATLAS_NO_CHECK_FILE_THREAD_SAFETY class ATLAS_CHECK_FILE_THREAD_SAFETY_SWALLOW_SEMICOLON
210#define ATLAS_CHECK_THREAD_SAFETY
211#define ATLAS_THREAD_SAFE
212#define ATLAS_NOT_THREAD_SAFE
213#define ATLAS_CTORDTOR_NOT_THREAD_SAFE
214#define ATLAS_NOT_REENTRANT
215#define ATLAS_NOT_CONST_THREAD_SAFE
216#define ATLAS_ARGUMENT_NOT_CONST_THREAD_SAFE
217
218
219#endif // not ATLAS_GCC_CHECKERS
220
221
222#endif // not CXXUTILS_CHECKER_MACROS_H