diff options
author | Thomas Haller <thaller@redhat.com> | 2022-02-18 20:21:32 +0100 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2022-02-21 19:50:52 +0100 |
commit | cc28aac0dec2fe51176cfce4822f27a76da416ac (patch) | |
tree | 8336d90bd863584b30dc69d4454f088febf82130 | |
parent | c87fbc9f6d81e488d1b77e0a146c1a703bdd13c0 (diff) | |
download | NetworkManager-cc28aac0dec2fe51176cfce4822f27a76da416ac.tar.gz |
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.
-rw-r--r-- | src/libnm-glib-aux/nm-macros-internal.h | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/src/libnm-glib-aux/nm-macros-internal.h b/src/libnm-glib-aux/nm-macros-internal.h index 14c160204b..eec3445972 100644 --- a/src/libnm-glib-aux/nm-macros-internal.h +++ b/src/libnm-glib-aux/nm-macros-internal.h @@ -184,21 +184,19 @@ _nm_auto_freev(gpointer ptr) * same name for the same warning. */ #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) \ - _Pragma("GCC diagnostic 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)) + NM_PRAGMA_DIAGNOSTICS_PUSH _Pragma(_NM_PRAGMA_WARNING_DO(warning)) #define NM_PRAGMA_WARNING_REENABLE _Pragma("GCC diagnostic pop") #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") #else +#define NM_PRAGMA_DIAGNOSTICS_PUSH +#define NM_PRAGMA_WARNING_DISABLE(warning) #define NM_PRAGMA_WARNING_REENABLE #endif |