glib-aux: add NM_PRAGMA_DIAGNOSTICS_PUSH macro
Also, combine the different macros in the same #if/#else block. The point of this is if you have a macro that does conditionally NM_PRAGMA_WARNING_DISABLE(), then we need a way to balance the push/pop.
This commit is contained in:
@@ -184,21 +184,19 @@ _nm_auto_freev(gpointer ptr)
|
|||||||
* same name for the same warning. */
|
* same name for the same warning. */
|
||||||
|
|
||||||
#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
|
#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
|
||||||
|
#define NM_PRAGMA_DIAGNOSTICS_PUSH _Pragma("GCC diagnostic push")
|
||||||
#define NM_PRAGMA_WARNING_DISABLE(warning) \
|
#define NM_PRAGMA_WARNING_DISABLE(warning) \
|
||||||
_Pragma("GCC diagnostic push") _Pragma(_NM_PRAGMA_WARNING_DO(warning))
|
NM_PRAGMA_DIAGNOSTICS_PUSH _Pragma(_NM_PRAGMA_WARNING_DO(warning))
|
||||||
#elif defined(__clang__)
|
|
||||||
#define NM_PRAGMA_WARNING_DISABLE(warning) \
|
|
||||||
_Pragma("clang diagnostic push") _Pragma(_NM_PRAGMA_WARNING_DO("-Wunknown-warning-option")) \
|
|
||||||
_Pragma(_NM_PRAGMA_WARNING_DO(warning))
|
|
||||||
#else
|
|
||||||
#define NM_PRAGMA_WARNING_DISABLE(warning)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
|
|
||||||
#define NM_PRAGMA_WARNING_REENABLE _Pragma("GCC diagnostic pop")
|
#define NM_PRAGMA_WARNING_REENABLE _Pragma("GCC diagnostic pop")
|
||||||
#elif defined(__clang__)
|
#elif defined(__clang__)
|
||||||
|
#define NM_PRAGMA_DIAGNOSTICS_PUSH _Pragma("clang diagnostic push")
|
||||||
|
#define NM_PRAGMA_WARNING_DISABLE(warning) \
|
||||||
|
NM_PRAGMA_DIAGNOSTICS_PUSH _Pragma(_NM_PRAGMA_WARNING_DO("-Wunknown-warning-option")) \
|
||||||
|
_Pragma(_NM_PRAGMA_WARNING_DO(warning))
|
||||||
#define NM_PRAGMA_WARNING_REENABLE _Pragma("clang diagnostic pop")
|
#define NM_PRAGMA_WARNING_REENABLE _Pragma("clang diagnostic pop")
|
||||||
#else
|
#else
|
||||||
|
#define NM_PRAGMA_DIAGNOSTICS_PUSH
|
||||||
|
#define NM_PRAGMA_WARNING_DISABLE(warning)
|
||||||
#define NM_PRAGMA_WARNING_REENABLE
|
#define NM_PRAGMA_WARNING_REENABLE
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user