• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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