From b8abed7494238c22522b29814c4cc754e3c19d5a Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Sun, 16 May 2021 17:31:57 +0200 Subject: [PATCH] utils.h: add fallthrough macro This can be used to silence clang warnings about unannotated fall-through Signed-off-by: Felix Fietkau --- utils.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/utils.h b/utils.h index 5c53cc0..dacac6e 100644 --- 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);