IVGCVSW-3691 Rework the CounterDirectory class to take into consideration
[platform/upstream/armnn.git] / include / armnn / Conversion.hpp
1 //
2 // Copyright © 2019 Arm Ltd. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5
6 #pragma once
7
8 #if __GNUC__
9 #   define ARMNN_NO_CONVERSION_WARN_BEGIN \
10     _Pragma("GCC diagnostic push")  \
11     _Pragma("GCC diagnostic ignored \"-Wconversion\"")
12
13 #   define ARMNN_NO_CONVERSION_WARN_END \
14     _Pragma("GCC diagnostic pop")
15
16 #elif __clang__
17 #   define ARMNN_NO_CONVERSION_WARN_BEGIN \
18     _Pragma("clang diagnostic push")  \
19     _Pragma("clang diagnostic ignored \"-Wconversion\"")
20
21 #   define ARMNN_NO_CONVERSION_WARN_END \
22     _Pragma("clang diagnostic pop")
23
24 #elif defined (_MSC_VER)
25 #   define ARMNN_NO_CONVERSION_WARN_BEGIN \
26     __pragma(warning( push )) \
27     __pragma(warning(disable : 4101))
28
29 #   define ARMNN_NO_CONVERSION_WARN_END \
30     __pragma(warning( pop ))
31
32 #else
33 #   define ARMNN_NO_CONVERSION_WARN_BEGIN
34 #   define ARMNN_NO_CONVERSION_WARN_END
35 #endif
36
37 #define ARMNN_SUPRESS_CONVERSION_WARNING(func) \
38 ARMNN_NO_CONVERSION_WARN_BEGIN \
39 func; \
40 ARMNN_NO_CONVERSION_WARN_END