Clingo
Loading...
Searching...
No Matches
macro.hh
1#pragma once
2
3#if __clang__
4#define CLINGO_IGNORE_UNUSED_FUNCTION_B
5#define CLINGO_IGNORE_UNUSED_FUNCTION_E
6#define CLINGO_IGNORE_ZERO_SIZED_ARRAY_B \
7 _Pragma("clang diagnostic push") _Pragma("clang diagnostic ignored \"-Wzero-length-array\"")
8#define CLINGO_IGNORE_ZERO_SIZED_ARRAY_E _Pragma("clang diagnostic pop")
9#define CLINGO_IGNORE_PAR_EQ_B \
10 _Pragma("clang diagnostic push") _Pragma("clang diagnostic ignored \"-Wparentheses-equality\"")
11#define CLINGO_IGNORE_PAR_EQ_E _Pragma("clang diagnostic pop")
12#define CLINGO_IGNORE_NON_TEMPLATE_FRIEND_B
13#define CLINGO_IGNORE_NON_TEMPLATE_FRIEND_E
14#define CLINGO_IGNORE_UNION_B \
15 _Pragma("clang diagnostic push") _Pragma("clang diagnostic ignored \"-Wgnu-anonymous-struct\"") \
16 _Pragma("clang diagnostic ignored \"-Wnested-anon-types\"")
17#define CLINGO_IGNORE_UNION_E _Pragma("clang diagnostic pop")
18#elif __GNUC__
19#define CLINGO_IGNORE_UNUSED_FUNCTION_B \
20 _Pragma("GCC diagnostic push") _Pragma("GCC diagnostic ignored \"-Wunused-function\"")
21#define CLINGO_IGNORE_UNUSED_FUNCTION_E _Pragma("GCC diagnostic pop")
22#define CLINGO_IGNORE_ZERO_SIZED_ARRAY_B _Pragma("GCC diagnostic push") _Pragma("GCC diagnostic ignored \"-Wpedantic\"")
23#define CLINGO_IGNORE_ZERO_SIZED_ARRAY_E _Pragma("GCC diagnostic pop")
24#define CLINGO_IGNORE_PAR_EQ_B
25#define CLINGO_IGNORE_PAR_EQ_E
26#define CLINGO_IGNORE_NON_TEMPLATE_FRIEND_B \
27 _Pragma("GCC diagnostic push") _Pragma("GCC diagnostic ignored \"-Wnon-template-friend\"")
28#define CLINGO_IGNORE_NON_TEMPLATE_FRIEND_E _Pragma("GCC diagnostic pop")
29#define CLINGO_IGNORE_UNION_B _Pragma("GCC diagnostic push") _Pragma("GCC diagnostic ignored \"-Wpedantic\"")
30#define CLINGO_IGNORE_UNION_E _Pragma("GCC diagnostic pop")
31#else
32#define CLINGO_IGNORE_UNUSED_FUNCTION_B
33#define CLINGO_IGNORE_UNUSED_FUNCTION_E
34#define CLINGO_IGNORE_ZERO_SIZED_ARRAY_B
35#define CLINGO_IGNORE_ZERO_SIZED_ARRAY_E
36#define CLINGO_IGNORE_PAR_EQ_B
37#define CLINGO_IGNORE_PAR_EQ_E
38#define CLINGO_IGNORE_NON_TEMPLATE_FRIEND_B
39#define CLINGO_IGNORE_NON_TEMPLATE_FRIEND_E
40#define CLINGO_IGNORE_UNION_B
41#define CLINGO_IGNORE_UNION_E
42#endif