ArmNN
 25.11
Loading...
Searching...
No Matches
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) \
38ARMNN_NO_DEPRECATE_WARN_BEGIN \
39func; \
40ARMNN_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