Loading...
Searching...
No Matches
macros.hpp
Go to the documentation of this file.
1#ifndef __TSID_MACROS_HPP__
2#define __TSID_MACROS_HPP__
3
4// ref https://www.fluentcpp.com/2019/08/30/how-to-disable-a-warning-in-cpp/
5#if defined(_MSC_VER)
6
7#define TSID_DISABLE_WARNING_PUSH __pragma(warning( push ))
8#define TSID_DISABLE_WARNING_POP __pragma(warning( pop ))
9#define TSID_DISABLE_WARNING(warningNumber) __pragma(warning( disable : warningNumber ))
10#define TSID_DISABLE_WARNING_DEPRECATED TSID_DISABLE_WARNING(4996)
11
12#elif defined(__GNUC__) || defined(__clang__)
13
14#define TSID_DO_PRAGMA(X) _Pragma(#X)
15#define TSID_DISABLE_WARNING_PUSH TSID_DO_PRAGMA(GCC diagnostic push)
16#define TSID_DISABLE_WARNING_POP TSID_DO_PRAGMA(GCC diagnostic pop)
17#define TSID_DISABLE_WARNING(warningName) TSID_DO_PRAGMA(GCC diagnostic ignored #warningName)
18#define TSID_DISABLE_WARNING_DEPRECATED TSID_DISABLE_WARNING(-Wdeprecated-declarations)
19
20#else
21
22#define TSID_DISABLE_WARNING_PUSH
23#define TSID_DISABLE_WARNING_POP
24#define TSID_DISABLE_WARNING_DEPRECATED
25
26#endif
27
28#endif