2018-02-20 22:56 GMT+01:00 Clemens Gruber <clemens.gruber@xxxxxxxxxxxx>: > The attributes should be in the definition in the header file. > Otherwise, the noreturn attribute seems to have no effect and GCC > emits several Wimplicit-fallthrough warnings when compiling libgpiod. > This patch fixes those warnings. > > Signed-off-by: Clemens Gruber <clemens.gruber@xxxxxxxxxxxx> > --- > [Backported to libgpiod 0.3.x] > > src/tools/tools-common.c | 6 ++---- > src/tools/tools-common.h | 5 +++-- > 2 files changed, 5 insertions(+), 6 deletions(-) > > diff --git a/src/tools/tools-common.c b/src/tools/tools-common.c > index ee4a838..b6ae18e 100644 > --- a/src/tools/tools-common.c > +++ b/src/tools/tools-common.c > @@ -18,8 +18,6 @@ > #include <stdarg.h> > #include <libgen.h> > > -#define NORETURN __attribute__((noreturn)) > - > static char *progname = "unknown"; > > void set_progname(char *name) > @@ -32,7 +30,7 @@ const char * get_progname(void) > return progname; > } > > -void NORETURN PRINTF(1, 2) die(const char *fmt, ...) > +void die(const char *fmt, ...) > { > va_list va; > > @@ -45,7 +43,7 @@ void NORETURN PRINTF(1, 2) die(const char *fmt, ...) > exit(EXIT_FAILURE); > } > > -void NORETURN PRINTF(1, 2) die_perror(const char *fmt, ...) > +void die_perror(const char *fmt, ...) > { > va_list va; > > diff --git a/src/tools/tools-common.h b/src/tools/tools-common.h > index 47dd003..c116df2 100644 > --- a/src/tools/tools-common.h > +++ b/src/tools/tools-common.h > @@ -20,13 +20,14 @@ > */ > > #define UNUSED __attribute__((unused)) > +#define NORETURN __attribute__((noreturn)) > #define PRINTF(fmt, arg) __attribute__((format(printf, fmt, arg))) > #define ARRAY_SIZE(x) (sizeof(x) / sizeof(*(x))) > > void set_progname(char *name); > const char * get_progname(void); > -void die(const char *fmt, ...); > -void die_perror(const char *fmt, ...); > +void die(const char *fmt, ...) NORETURN PRINTF(1, 2); > +void die_perror(const char *fmt, ...) NORETURN PRINTF(1, 2); > void print_version(void); > > #endif /* __GPIOD_TOOLS_COMMON_H__ */ > -- > 2.16.2 > Applied, thanks! -- To unsubscribe from this list: send the line "unsubscribe linux-gpio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html