repr 0.1
Reconstructable string representations and more
Loading...
Searching...
No Matches
warning.h
Go to the documentation of this file.
1#pragma once
2#include <librepr/feature.h>
3
4#include "util.h"
5#include "platform.h"
6
7#if USING(LIBREPR_COMPILER_MSVC)
8
9#define LIBREPR_WARNING_DISABLE_MSVC(WARNING) LIBREPR_PRAGMA(warning(disable: WARNING))
10#define LIBREPR_WARNING_PUSH LIBREPR_PRAGMA(warning(push))
11#define LIBREPR_WARNING_POP LIBREPR_PRAGMA(warning(pop))
12
13#else
14#define LIBREPR_WARNING_DISABLE_MSVC(...)
15#endif
16
17#if USING(LIBREPR_COMPILER_CLANG)
18
19#define LIBREPR_WARNING_DISABLE_CLANG(WARNING) LIBREPR_PRAGMA(clang diagnostic ignored WARNING)
20#define LIBREPR_WARNING_PUSH LIBREPR_PRAGMA(clang diagnostic push)
21#define LIBREPR_WARNING_POP LIBREPR_PRAGMA(clang diagnostic pop)
22
23#else
24#define LIBREPR_WARNING_DISABLE_CLANG(...)
25#endif
26
27#if USING(LIBREPR_COMPILER_GCC)
28
29#define LIBREPR_WARNING_DISABLE_GCC(WARNING) LIBREPR_PRAGMA(GCC diagnostic ignored WARNING)
30#define LIBREPR_WARNING_PUSH LIBREPR_PRAGMA(GCC diagnostic push)
31#define LIBREPR_WARNING_POP LIBREPR_PRAGMA(GCC diagnostic pop)
32
33#else
34#define LIBREPR_WARNING_DISABLE_GCC(...)
35#endif
36
37#define LIBREPR_WARNING_DISABLE(COMPILER, WARNING) LIBREPR_WARNING_DISABLE_##COMPILER(WARNING)