Hi, This patch looks a bit ugly, for example: ## gcc 4.8.1 CC text-utils/more-more.o ../text-utils/more.c: In function ‘command’: ../text-utils/more.c:1273:4: warning: empty declaration [enabled by default] UL_FALLTHROUGH; ## icc 16.0.0 text-utils/more.c(1273): warning #1292: unknown attribute "fallthrough" UL_FALLTHROUGH; ^ > diff --git a/include/c.h b/include/c.h > index a5162b964..8a67b5dfb 100644 > --- a/include/c.h > +++ b/include/c.h > @@ -77,6 +77,24 @@ > #endif > > /* > + * Statement Attributes > + */ > +#if defined(__clang__) > +# ifndef __has_cpp_attribute > +# define __has_cpp_attribute(x) 0 > +# endif > +# if __has_cpp_attribute(clang::fallthrough) > +# define UL_FALLTHROUGH [[clang::fallthrough]] > +# else > +# define UL_FALLTHROUGH /* fall through */ > +# endif > +#elif defined(__GNUC__) || defined(__GNUG__) > +# define UL_FALLTHROUGH __attribute__((fallthrough)) > +#else > +# define UL_FALLTHROUGH /* FALLTHRU */ > +#endif > + > +/* Maybe just simplify like this: #ifndef __has_attribute #define __has_attribute(x) 0 #endif #if __has_cpp_attribute(fallthrough) # define UL_FALLTHROUGH [[fallthrough]] #else # define UL_FALLTHROUGH /* fall through */ #endif The attribute works without "clang::" prefix on recent gcc and clang, and maybe icc in future. Otherwise we could check for the attribute in configure, using autoconf-archive AX_GCC_FUNC_ATTRIBUTE(fallthrough) https://www.gnu.org/software/autoconf-archive/ax_gcc_func_attribute.html cu, Rudi -- To unsubscribe from this list: send the line "unsubscribe util-linux" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html