Monero
Loading...
Searching...
No Matches
warnings.h
Go to the documentation of this file.
1#pragma once
2
3#if defined(_MSC_VER)
4
5#define PUSH_WARNINGS __pragma(warning(push))
6#define POP_WARNINGS __pragma(warning(pop))
7#define DISABLE_VS_WARNINGS(w) __pragma(warning(disable: w))
8#define DISABLE_GCC_WARNING(w)
9#define DISABLE_CLANG_WARNING(w)
10#define DISABLE_GCC_AND_CLANG_WARNING(w)
11
12#else
13
14#include <boost/preprocessor/stringize.hpp>
15
16#define PUSH_WARNINGS _Pragma("GCC diagnostic push")
17#define POP_WARNINGS _Pragma("GCC diagnostic pop")
18#define DISABLE_VS_WARNINGS(w)
19
20#if defined(__clang__)
21#define DISABLE_GCC_WARNING(w)
22#define DISABLE_CLANG_WARNING DISABLE_GCC_AND_CLANG_WARNING
23#else
24#define DISABLE_GCC_WARNING DISABLE_GCC_AND_CLANG_WARNING
25#define DISABLE_CLANG_WARNING(w)
26#endif
27
28#define DISABLE_GCC_AND_CLANG_WARNING(w) _Pragma(BOOST_PP_STRINGIZE(GCC diagnostic ignored BOOST_PP_STRINGIZE(-W##w)))
29
30#endif