utils.h: add fallthrough macro
[project/libubox.git] / utils.h
diff --git a/utils.h b/utils.h
index 5c53cc0260d39b00e9bec1a8062356904e0060b1..dacac6e41092e2b395f3867fa6dd91812a40acf8 100644 (file)
--- a/utils.h
+++ b/utils.h
@@ -227,6 +227,18 @@ int clock_gettime(int type, struct timespec *tv);
 #define __hidden __attribute__((visibility("hidden")))
 #endif
 
+#ifndef __has_attribute
+# define __has_attribute(x) 0
+#endif
+
+#ifndef fallthrough
+# if __has_attribute(__fallthrough__)
+#  define fallthrough __attribute__((__fallthrough__))
+# else
+#  define fallthrough do {} while (0)  /* fallthrough */
+# endif
+#endif
+
 int b64_encode(const void *src, size_t src_len,
               void *dest, size_t dest_len);