Messages in this thread | | | Date | Fri, 10 Feb 2017 11:42:38 -0300 | From | Arnaldo Carvalho de Melo <> | Subject | Re: [PATCH 24/32] tools include: Add a __fallthrough statement |
| |
Em Thu, Feb 09, 2017 at 07:02:06PM -0800, Joe Perches escreveu: > On Thu, 2017-02-09 at 22:39 -0300, Arnaldo Carvalho de Melo wrote: > > From: Arnaldo Carvalho de Melo <acme@redhat.com> > > > > For cases where implicit fall through case labels are intended, > > to let us inform that to gcc >= 7: > > I believe this should be added to compiler_gcc.h
We still don't have it in tools/include/linux, but yeah, its a good idea to have the equivalent of include/linux/compiler-gcc.h.
Then, at some point, the kernel can grab the definition from tools, i.e. when people start trying to build the kernel _and_ this specific warning is enabled there, as it is in tools/.
- Arnaldo
> > diff --git a/tools/include/linux/compiler.h b/tools/include/linux/compiler.h > [] > > @@ -126,4 +126,13 @@ static __always_inline void __write_once_size(volatile void *p, void *res, int s > > #define WRITE_ONCE(x, val) \ > > ({ union { typeof(x) __val; char __c[1]; } __u = { .__val = (val) }; __write_once_size(&(x), __u.__c, sizeof(x)); __u.__val; }) > > > > + > > +#ifndef __fallthrough > > +# if defined(__GNUC__) && __GNUC__ >= 7 > > +# define __fallthrough __attribute__ ((fallthrough)) > > +# else > > +# define __fallthrough > > +# endif > > +#endif > > + > > #endif /* _TOOLS_LINUX_COMPILER_H */
| |