ArmNN
 24.02
Deprecated.hpp
Go to the documentation of this file.
1 //
2 // Copyright © 2017 Arm Ltd. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 
6 #pragma once
7 
8 #if __GNUC__
9 # define ARMNN_NO_DEPRECATE_WARN_BEGIN \
10  _Pragma("GCC diagnostic push") \
11  _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"")
12 
13 # define ARMNN_NO_DEPRECATE_WARN_END \
14  _Pragma("GCC diagnostic pop")
15 
16 #elif __clang__
17 # define ARMNN_NO_DEPRECATE_WARN_BEGIN \
18  _Pragma("clang diagnostic push") \
19  _Pragma("clang diagnostic ignored \"-Wdeprecated-declarations\"")
20 
21 # define ARMNN_NO_DEPRECATE_WARN_END \
22  _Pragma("clang diagnostic pop")
23 
24 #elif defined (_MSC_VER)
25 # define ARMNN_NO_DEPRECATE_WARN_BEGIN \
26  __pragma(warning( push )) \
27  __pragma(warning(disable : 4996))
28 
29 # define ARMNN_NO_DEPRECATE_WARN_END \
30  __pragma(warning( pop ))
31 
32 #else
33 # define ARMNN_NO_DEPRECATE_WARN_BEGIN
34 # define ARMNN_NO_DEPRECATE_WARN_END
35 #endif
36 
37 #define ARMNN_SUPPRESS_DEPRECATE_WARNING(func) \
38 ARMNN_NO_DEPRECATE_WARN_BEGIN \
39 func; \
40 ARMNN_NO_DEPRECATE_WARN_END
41 
42 #define ARMNN_DEPRECATED [[deprecated]]
43 #define ARMNN_DEPRECATED_MSG(message) [[deprecated(message)]]
44 #define ARMNN_DEPRECATED_MSG_REMOVAL_DATE(message, removed_in_release) \
45 [[deprecated("Expected to be removed in release " #removed_in_release ". " message)]]
46 #define ARMNN_DEPRECATED_MSG_CHANGE_DATE(message, signature_changed_in_release) \
47 [[deprecated("Expected to have signature changed in release " #signature_changed_in_release ". " message)]]
48 
49 #if defined(__GNUC__) && (__GNUC__ < 6)
50 # define ARMNN_DEPRECATED_ENUM
51 # define ARMNN_DEPRECATED_ENUM_MSG(message)
52 #else
53 # define ARMNN_DEPRECATED_ENUM ARMNN_DEPRECATED
54 # define ARMNN_DEPRECATED_ENUM_MSG(message) ARMNN_DEPRECATED_MSG(message)
55 #endif