From: Jozsef Kadlecsik Date: Tue, 9 Feb 2021 18:41:23 +0000 (+0100) Subject: Handle -Werror=implicit-fallthrough= in debug mode compiling X-Git-Tag: v7.11~3 X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=b031a4db2237503d370624cfc9573ead7438fddf;p=thirdparty%2Fipset.git Handle -Werror=implicit-fallthrough= in debug mode compiling Signed-off-by: Jozsef Kadlecsik --- diff --git a/Makefile.am b/Makefile.am index eab32ee9..cc821e64 100644 --- a/Makefile.am +++ b/Makefile.am @@ -93,6 +93,9 @@ update_includes: kernel/include/uapi/linux/netfilter/ipset/$$x \ > include/libipset/linux_$$x; \ done + for x in ip_set_compiler.h; do \ + cp kernel/include/linux/netfilter/ipset/$$x include/libipset/$x; \ + done update_utils: wget -4 -O /tmp/ipset-bash-completion.tar.gz http://sourceforge.net/projects/ipset-bashcompl/files/latest/download diff --git a/include/libipset/ip_set_compiler.h b/include/libipset/ip_set_compiler.h new file mode 100644 index 00000000..1b392f8b --- /dev/null +++ b/include/libipset/ip_set_compiler.h @@ -0,0 +1,15 @@ +#ifndef __IP_SET_COMPILER_H +#define __IP_SET_COMPILER_H + +/* Compiler attributes */ +#ifndef __has_attribute +# define __has_attribute(x) __GCC4_has_attribute_##x +# define __GCC4_has_attribute___fallthrough__ 0 +#endif + +#if __has_attribute(__fallthrough__) +# define fallthrough __attribute__((__fallthrough__)) +#else +# define fallthrough do {} while (0) /* fallthrough */ +#endif +#endif /* __IP_SET_COMPILER_H */ diff --git a/lib/ipset.c b/lib/ipset.c index 8ae2b6f3..67299196 100644 --- a/lib/ipset.c +++ b/lib/ipset.c @@ -27,6 +27,7 @@ #include /* ipset_print_family */ #include /* STREQ */ #include /* prototypes */ +#include /* compiler attributes */ static char program_name[] = PACKAGE; static char program_version[] = PACKAGE_VERSION; @@ -1213,6 +1214,7 @@ ipset_parse_argv(struct ipset *ipset, int oargc, char *oargv[]) return ret; } /* Fall through to parse optional setname */ + fallthrough; case IPSET_CMD_DESTROY: case IPSET_CMD_FLUSH: /* Args: [setname] */