Go to the documentation of this file. 19 #ifndef IGNITION_COMMON_DETAIL_SUPPRESSWARNING_HH_ 20 #define IGNITION_COMMON_DETAIL_SUPPRESSWARNING_HH_ 22 #define DETAIL_IGN_COMMON_STRINGIFY(x) #x 30 #define DETAIL_IGN_COMMON_BEGIN_WARN_SUP_PUSH \ 31 _Pragma("clang diagnostic push") 34 #define DETAIL_IGN_COMMON_WARN_SUP_HELPER_2(w) \ 35 DETAIL_IGN_COMMON_STRINGIFY(clang diagnostic ignored w) 38 #define DETAIL_IGN_COMMON_WARN_SUP_HELPER(w) \ 39 _Pragma(DETAIL_IGN_COMMON_WARN_SUP_HELPER_2(w)) 42 #define DETAIL_IGN_COMMON_WARN_RESUME \ 43 _Pragma("clang diagnostic pop") 46 #elif defined __GNUC__ 53 #define DETAIL_IGN_COMMON_BEGIN_WARN_SUP_PUSH \ 54 _Pragma("GCC diagnostic push") 57 #define DETAIL_IGN_COMMON_WARN_SUP_HELPER_2(w) \ 58 DETAIL_IGN_COMMON_STRINGIFY(GCC diagnostic ignored w) 61 #define DETAIL_IGN_COMMON_WARN_SUP_HELPER(w) \ 62 _Pragma(DETAIL_IGN_COMMON_WARN_SUP_HELPER_2(w)) 65 #define DETAIL_IGN_COMMON_WARN_RESUME \ 66 _Pragma("GCC diagnostic pop") 69 #elif defined _MSC_VER 72 #define DETAIL_IGN_COMMON_BEGIN_WARN_SUP_PUSH \ 73 __pragma(warning(push)) 76 #define DETAIL_IGN_COMMON_WARN_SUP_HELPER(w) \ 77 __pragma(warning(disable: w)) 80 #define DETAIL_IGN_COMMON_WARN_RESUME \ 81 __pragma(warning(pop)) 88 #define DETAIL_IGN_COMMON_BEGIN_WARN_SUP_PUSH 91 #define DETAIL_IGN_COMMON_WARN_SUP_HELPER(w) 94 #define DETAIL_IGN_COMMON_WARN_RESUME 100 #define DETAIL_IGN_COMMON_BEGIN_WARNING_SUPPRESSION(warning_token) \ 101 DETAIL_IGN_COMMON_BEGIN_WARN_SUP_PUSH \ 102 DETAIL_IGN_COMMON_WARN_SUP_HELPER(warning_token) 107 #if defined __GNUC__ || defined __clang__ 109 #define DETAIL_IGN_COMMON_WARN_IGNORE__DELETE_NON_VIRTUAL_DESTRUCTOR \ 110 DETAIL_IGN_COMMON_BEGIN_WARNING_SUPPRESSION("-Wdelete-non-virtual-dtor") 112 #define DETAIL_IGN_COMMON_WARN_RESUME__DELETE_NON_VIRTUAL_DESTRUCTOR \ 113 DETAIL_IGN_COMMON_WARN_RESUME 118 #define DETAIL_IGN_COMMON_WARN_IGNORE__DLL_INTERFACE_MISSING 119 #define DETAIL_IGN_COMMON_WARN_RESUME__DLL_INTERFACE_MISSING 122 #elif defined _MSC_VER 124 #define DETAIL_IGN_COMMON_WARN_IGNORE__DELETE_NON_VIRTUAL_DESTRUCTOR \ 125 DETAIL_IGN_COMMON_BEGIN_WARNING_SUPPRESSION(4265) 127 #define DETAIL_IGN_COMMON_WARN_RESUME__DELETE_NON_VIRTUAL_DESTRUCTOR \ 128 DETAIL_IGN_COMMON_WARN_RESUME 131 #define DETAIL_IGN_COMMON_WARN_IGNORE__DLL_INTERFACE_MISSING \ 132 DETAIL_IGN_COMMON_BEGIN_WARNING_SUPPRESSION(4251) 134 #define DETAIL_IGN_COMMON_WARN_RESUME__DLL_INTERFACE_MISSING \ 135 DETAIL_IGN_COMMON_WARN_RESUME 143 #define DETAIL_IGN_COMMON_WARN_IGNORE__DELETE_NON_VIRTUAL_DESTRUCTOR 144 #define DETAIL_IGN_COMMON_WARN_RESUME__DELETE_NON_VIRTUAL_DESTRUCTOR 147 #define DETAIL_IGN_COMMON_WARN_IGNORE__DLL_INTERFACE_MISSING 148 #define DETAIL_IGN_COMMON_WARN_RESUME__DLL_INTERFACE_MISSING