22 #ifdef SILENCE_EXTERNAL_WARNINGS
28 # define __GNUC_VERSION__ (__GNUC__ * 100 \
30 # if (__GNUC_VERSION__ >= 406)
31 # define GNU_COMPILER_OK 1
33 # define GNU_COMPILER_OK 0
36 # define GNU_COMPILER_OK 0
41 #if defined(__clang__)
42 # define CLANG_COMPILER_OK 1
44 # define CLANG_COMPILER_OK 0
48 #define COMPATIBLE_COMPILER (GNU_COMPILER_OK || CLANG_COMPILER_OK)
55 #if COMPATIBLE_COMPILER
56 #pragma GCC diagnostic push
59 #pragma GCC diagnostic ignored "-Wpragmas"
60 #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
61 #pragma GCC diagnostic ignored "-Wdeprecated-register"
62 #pragma GCC diagnostic ignored "-Wignored-qualifiers"
63 #pragma GCC diagnostic ignored "-Wmismatched-tags"
64 #pragma GCC diagnostic ignored "-Wshadow"
65 #pragma GCC diagnostic ignored "-Wsign-compare"
66 #pragma GCC diagnostic ignored "-Wunused-parameter"
67 #pragma GCC diagnostic ignored "-Wtautological-compare"
68 #pragma GCC diagnostic ignored "-Wtype-limits"
69 #pragma GCC diagnostic ignored "-Wunused-function"
70 #pragma GCC diagnostic ignored "-Wunneeded-internal-declaration"
71 #pragma GCC diagnostic ignored "-Wunused-private-field"
72 #pragma GCC diagnostic ignored "-Wunused-variable"
73 #pragma GCC diagnostic ignored "-Wunused-local-typedefs"
74 #pragma GCC diagnostic ignored "-Wcast-align"
75 #pragma GCC diagnostic ignored "-Wcast-qual"
76 #pragma GCC diagnostic ignored "-Wignored-attributes"