Rumba C++ SDK
Macros.h
Go to the documentation of this file.
1 # pragma once
2 
3 #ifdef _WIN32
4 # define _MAQUINA_WINDOWS_
5 # undef _MAQUINA_LINUX_
6 # define MAQUINA_IGNORE_WARNINGS_BEGIN __pragma(warning( push, 0 ))
7 # define MAQUINA_IGNORE_WARNINGS_END __pragma(warning( pop ))
8 # define MAQUINA_PRETTY_FUNCTION __FUNCTION__
9 # ifndef NOMINMAX
10 # define NOMINMAX
11 # endif
12 #elif defined(__unix__)
13 # undef _MAQUINA_WINDOWS_
14 # define _MAQUINA_LINUX_
15 # ifdef __clang__
16 # define MAQUINA_IGNORE_WARNINGS_BEGIN \
17  _Pragma( "GCC diagnostic push" ) \
18  _Pragma( "GCC diagnostic ignored \"-Weverything\"" )
19 # else
20 // This may be useless due to a long standing bug in gcc https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53431
21 # define MAQUINA_IGNORE_WARNINGS_BEGIN \
22  _Pragma( "GCC diagnostic push" ) \
23  _Pragma( "GCC diagnostic ignored \"-Wall\"") \
24  _Pragma( "GCC diagnostic ignored \"-Wextra\"") \
25  _Pragma( "GCC diagnostic ignored \"-Wconversion\"") \
26  _Pragma( "GCC diagnostic ignored \"-Wdeprecated\"") \
27  _Pragma( "GCC diagnostic ignored \"-Wparentheses\"") \
28  _Pragma( "GCC diagnostic ignored \"-Wunused-but-set-parameter\"") \
29  _Pragma( "GCC diagnostic ignored \"-Wstrict-aliasing\"") \
30  _Pragma( "GCC diagnostic ignored \"-Wunused-variable\"") \
31  _Pragma( "GCC diagnostic ignored \"-Wunused-function\"")
32 # endif
33 # define MAQUINA_IGNORE_WARNINGS_END _Pragma( "GCC diagnostic pop")
34 # define MAQUINA_PRETTY_FUNCTION __PRETTY_FUNCTION__
35 #else
36 # error Your platform is not supported/recognized.
37 #endif
38