aboutgitcodebugslistschat
path: root/util.h
diff options
context:
space:
mode:
Diffstat (limited to 'util.h')
-rw-r--r--util.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/util.h b/util.h
index f85a87a..6f2c702 100644
--- a/util.h
+++ b/util.h
@@ -102,6 +102,29 @@ enum {
(void *)(arg)); \
} while (0)
+
+#ifdef __has_warning
+# if __has_warning("-Wstringop-overread")
+# define PRAGMA_STRINGOP_OVERREAD_IGNORE \
+ _Pragma("GCC diagnostic ignored \"-Wstringop-overread\"")
+# define PRAGMA_STRINGOP_OVERREAD_IGNORE_POP \
+ _Pragma("GCC diagnostic pop")
+# else
+# define PRAGMA_STRINGOP_OVERREAD_IGNORE
+# define PRAGMA_STRINGOP_OVERREAD_IGNORE_POP
+# endif
+#else
+# if defined(__GNUC__) && __GNUC__ >= 11
+# define PRAGMA_STRINGOP_OVERREAD_IGNORE \
+ _Pragma("GCC diagnostic ignored \"-Wstringop-overread\"")
+# define PRAGMA_STRINGOP_OVERREAD_IGNORE_POP \
+ _Pragma("GCC diagnostic pop")
+# else
+# define PRAGMA_STRINGOP_OVERREAD_IGNORE
+# define PRAGMA_STRINGOP_OVERREAD_IGNORE_POP
+# endif
+#endif
+
#if __BYTE_ORDER == __BIG_ENDIAN
#define L2_BUF_ETH_IP4_INIT \
{ \