From fc26d754af9440f81dfb0150f15d1bba516631ef Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Sat, 9 May 2020 02:12:28 +0200 Subject: [PATCH] Reduce explicit use of __attribute__. * autogen.sh (GNULIB_MODULES_RUNTIME_FOR_SRC, GNULIB_MODULES_TOOLS_FOR_SRC): Add noreturn. * gettext-runtime/src/envsubst.c: Include noreturn.h. (usage): Use _GL_NORETURN_FUNC. * gettext-runtime/src/gettext.c: Likewise. * gettext-runtime/src/ngettext.c: Likewise. * gettext-tools/src/hostname.c: Likewise. * gettext-tools/src/msgattrib.c: Likewise. * gettext-tools/src/msgcat.c: Likewise. * gettext-tools/src/msgcmp.c: Likewise. * gettext-tools/src/msgcomm.c: Likewise. * gettext-tools/src/msgconv.c: Likewise. * gettext-tools/src/msgen.c: Likewise. * gettext-tools/src/msgexec.c: Likewise. * gettext-tools/src/msgfilter.c: Likewise. * gettext-tools/src/msgfmt.c: Likewise. * gettext-tools/src/msginit.c: Likewise. * gettext-tools/src/msgmerge.c: Likewise. * gettext-tools/src/msgunfmt.c: Likewise. * gettext-tools/src/msguniq.c: Likewise. * gettext-tools/src/recode-sr-latin.c: Likewise. * gettext-tools/src/urlget.c: Likewise. * gettext-tools/src/xgettext.c: Likewise. * gettext-tools/src/msggrep.c: Include noreturn.h. (no_pass, usage): Use _GL_NORETURN_FUNC. * gettext-tools/src/msgl-iconv.c: Include noreturn.h. (conversion_error): Use _GL_NORETURN_FUNC. * gettext-tools/tests/tstgettext.c: Include noreturn.h. (usage): Use _GL_NORETURN_FUNC. * gettext-tools/tests/tstngettext.c: Likewise. --- autogen.sh | 2 ++ gettext-runtime/src/envsubst.c | 7 ++----- gettext-runtime/src/gettext.c | 7 ++----- gettext-runtime/src/ngettext.c | 7 ++----- gettext-tools/src/hostname.c | 7 ++----- gettext-tools/src/msgattrib.c | 7 ++----- gettext-tools/src/msgcat.c | 7 ++----- gettext-tools/src/msgcmp.c | 7 ++----- gettext-tools/src/msgcomm.c | 7 ++----- gettext-tools/src/msgconv.c | 7 ++----- gettext-tools/src/msgen.c | 7 ++----- gettext-tools/src/msgexec.c | 7 ++----- gettext-tools/src/msgfilter.c | 7 ++----- gettext-tools/src/msgfmt.c | 7 ++----- gettext-tools/src/msggrep.c | 13 +++---------- gettext-tools/src/msginit.c | 7 ++----- gettext-tools/src/msgl-iconv.c | 9 +++------ gettext-tools/src/msgmerge.c | 7 ++----- gettext-tools/src/msgunfmt.c | 7 ++----- gettext-tools/src/msguniq.c | 7 ++----- gettext-tools/src/recode-sr-latin.c | 7 ++----- gettext-tools/src/urlget.c | 7 ++----- gettext-tools/src/xgettext.c | 7 ++----- gettext-tools/tests/tstgettext.c | 7 ++----- gettext-tools/tests/tstngettext.c | 7 ++----- 25 files changed, 52 insertions(+), 126 deletions(-) diff --git a/autogen.sh b/autogen.sh index dff017924..4c820f3a7 100755 --- a/autogen.sh +++ b/autogen.sh @@ -78,6 +78,7 @@ if ! $skip_gnulib; then gettext-h havelib memmove + noreturn progname propername relocatable-prog @@ -169,6 +170,7 @@ if ! $skip_gnulib; then memset minmax mkdir + noreturn obstack open opendir diff --git a/gettext-runtime/src/envsubst.c b/gettext-runtime/src/envsubst.c index 5ad539d3f..0b5508076 100644 --- a/gettext-runtime/src/envsubst.c +++ b/gettext-runtime/src/envsubst.c @@ -28,6 +28,7 @@ #include #include +#include "noreturn.h" #include "closeout.h" #include "error.h" #include "progname.h" @@ -53,11 +54,7 @@ static const struct option long_options[] = }; /* Forward declaration of local functions. */ -static void usage (int status) -#if defined __GNUC__ && ((__GNUC__ == 2 && __GNUC_MINOR__ >= 5) || __GNUC__ > 2) - __attribute__ ((noreturn)) -#endif -; +_GL_NORETURN_FUNC static void usage (int status); static void print_variables (const char *string); static void note_variables (const char *string); static void subst_from_stdin (void); diff --git a/gettext-runtime/src/gettext.c b/gettext-runtime/src/gettext.c index c642de2aa..50770cf5c 100644 --- a/gettext-runtime/src/gettext.c +++ b/gettext-runtime/src/gettext.c @@ -27,6 +27,7 @@ #include #include +#include "noreturn.h" #include "closeout.h" #include "error.h" #include "progname.h" @@ -59,11 +60,7 @@ static const struct option long_options[] = }; /* Forward declaration of local functions. */ -static void usage (int status) -#if defined __GNUC__ && ((__GNUC__ == 2 && __GNUC_MINOR__ >= 5) || __GNUC__ > 2) - __attribute__ ((noreturn)) -#endif -; +_GL_NORETURN_FUNC static void usage (int status); int main (int argc, char *argv[]) diff --git a/gettext-runtime/src/ngettext.c b/gettext-runtime/src/ngettext.c index 1750fea91..841665c61 100644 --- a/gettext-runtime/src/ngettext.c +++ b/gettext-runtime/src/ngettext.c @@ -26,6 +26,7 @@ #include #include +#include "noreturn.h" #include "closeout.h" #include "error.h" #include "progname.h" @@ -53,11 +54,7 @@ static const struct option long_options[] = }; /* Forward declaration of local functions. */ -static void usage (int status) -#if defined __GNUC__ && ((__GNUC__ == 2 && __GNUC_MINOR__ >= 5) || __GNUC__ > 2) - __attribute__ ((noreturn)) -#endif -; +_GL_NORETURN_FUNC static void usage (int status); int main (int argc, char *argv[]) diff --git a/gettext-tools/src/hostname.c b/gettext-tools/src/hostname.c index ae075fa25..cead2cfaa 100644 --- a/gettext-tools/src/hostname.c +++ b/gettext-tools/src/hostname.c @@ -81,6 +81,7 @@ /* Include this after , to avoid a syntax error on BeOS. */ #include +#include "noreturn.h" #include "closeout.h" #include "error.h" #include "error-progname.h" @@ -111,11 +112,7 @@ static const struct option long_options[] = /* Forward declaration of local functions. */ -static void usage (int status) -#if defined __GNUC__ && ((__GNUC__ == 2 && __GNUC_MINOR__ >= 5) || __GNUC__ > 2) - __attribute__ ((noreturn)) -#endif -; +_GL_NORETURN_FUNC static void usage (int status); static void print_hostname (void); int diff --git a/gettext-tools/src/msgattrib.c b/gettext-tools/src/msgattrib.c index 6c6e10afd..7e6f2ff3c 100644 --- a/gettext-tools/src/msgattrib.c +++ b/gettext-tools/src/msgattrib.c @@ -29,6 +29,7 @@ #include +#include "noreturn.h" #include "closeout.h" #include "dir-list.h" #include "error.h" @@ -126,11 +127,7 @@ static const struct option long_options[] = /* Forward declaration of local functions. */ -static void usage (int status) -#if defined __GNUC__ && ((__GNUC__ == 2 && __GNUC_MINOR__ >= 5) || __GNUC__ > 2) - __attribute__ ((noreturn)) -#endif -; +_GL_NORETURN_FUNC static void usage (int status); static msgdomain_list_ty *process_msgdomain_list (msgdomain_list_ty *mdlp, msgdomain_list_ty *only_mdlp, msgdomain_list_ty *ignore_mdlp); diff --git a/gettext-tools/src/msgcat.c b/gettext-tools/src/msgcat.c index 0a0852acc..d58ee91ff 100644 --- a/gettext-tools/src/msgcat.c +++ b/gettext-tools/src/msgcat.c @@ -28,6 +28,7 @@ #include +#include "noreturn.h" #include "closeout.h" #include "dir-list.h" #include "str-list.h" @@ -96,11 +97,7 @@ static const struct option long_options[] = /* Forward declaration of local functions. */ -static void usage (int status) -#if defined __GNUC__ && ((__GNUC__ == 2 && __GNUC_MINOR__ >= 5) || __GNUC__ > 2) - __attribute__ ((noreturn)) -#endif -; +_GL_NORETURN_FUNC static void usage (int status); int diff --git a/gettext-tools/src/msgcmp.c b/gettext-tools/src/msgcmp.c index 741d1ee78..2dfb74973 100644 --- a/gettext-tools/src/msgcmp.c +++ b/gettext-tools/src/msgcmp.c @@ -27,6 +27,7 @@ #include #include +#include "noreturn.h" #include "closeout.h" #include "dir-list.h" #include "error.h" @@ -80,11 +81,7 @@ static const struct option long_options[] = /* Forward declaration of local functions. */ -static void usage (int status) -#if defined __GNUC__ && ((__GNUC__ == 2 && __GNUC_MINOR__ >= 5) || __GNUC__ > 2) - __attribute__ ((noreturn)) -#endif -; +_GL_NORETURN_FUNC static void usage (int status); static void compare (const char *fn1, const char *fn2, catalog_input_format_ty input_syntax); diff --git a/gettext-tools/src/msgcomm.c b/gettext-tools/src/msgcomm.c index 2b76740a4..ed362dad0 100644 --- a/gettext-tools/src/msgcomm.c +++ b/gettext-tools/src/msgcomm.c @@ -28,6 +28,7 @@ #include +#include "noreturn.h" #include "closeout.h" #include "dir-list.h" #include "str-list.h" @@ -97,11 +98,7 @@ static const struct option long_options[] = /* Forward declaration of local functions. */ -static void usage (int status) -#if defined __GNUC__ && ((__GNUC__ == 2 && __GNUC_MINOR__ > 4) || __GNUC__ > 2) - __attribute__ ((noreturn)) -#endif -; +_GL_NORETURN_FUNC static void usage (int status); int diff --git a/gettext-tools/src/msgconv.c b/gettext-tools/src/msgconv.c index 1ddd3a23d..d4f1e531b 100644 --- a/gettext-tools/src/msgconv.c +++ b/gettext-tools/src/msgconv.c @@ -29,6 +29,7 @@ #include +#include "noreturn.h" #include "closeout.h" #include "dir-list.h" #include "error.h" @@ -89,11 +90,7 @@ static const struct option long_options[] = /* Forward declaration of local functions. */ -static void usage (int status) -#if defined __GNUC__ && ((__GNUC__ == 2 && __GNUC_MINOR__ >= 5) || __GNUC__ > 2) - __attribute__ ((noreturn)) -#endif -; +_GL_NORETURN_FUNC static void usage (int status); int diff --git a/gettext-tools/src/msgen.c b/gettext-tools/src/msgen.c index b8ad4f559..960adda14 100644 --- a/gettext-tools/src/msgen.c +++ b/gettext-tools/src/msgen.c @@ -29,6 +29,7 @@ #include +#include "noreturn.h" #include "closeout.h" #include "dir-list.h" #include "error.h" @@ -86,11 +87,7 @@ static const struct option long_options[] = /* Forward declaration of local functions. */ -static void usage (int status) -#if defined __GNUC__ && ((__GNUC__ == 2 && __GNUC_MINOR__ >= 5) || __GNUC__ > 2) - __attribute__ ((noreturn)) -#endif -; +_GL_NORETURN_FUNC static void usage (int status); int diff --git a/gettext-tools/src/msgexec.c b/gettext-tools/src/msgexec.c index ec3dd9408..13411da38 100644 --- a/gettext-tools/src/msgexec.c +++ b/gettext-tools/src/msgexec.c @@ -31,6 +31,7 @@ #include #include +#include "noreturn.h" #include "closeout.h" #include "dir-list.h" #include "error.h" @@ -91,11 +92,7 @@ static const struct option long_options[] = /* Forward declaration of local functions. */ -static void usage (int status) -#if defined __GNUC__ && ((__GNUC__ == 2 && __GNUC_MINOR__ >= 5) || __GNUC__ > 2) - __attribute__ ((noreturn)) -#endif -; +_GL_NORETURN_FUNC static void usage (int status); static void process_msgdomain_list (const msgdomain_list_ty *mdlp); diff --git a/gettext-tools/src/msgfilter.c b/gettext-tools/src/msgfilter.c index 308feb40b..f5e4e64fe 100644 --- a/gettext-tools/src/msgfilter.c +++ b/gettext-tools/src/msgfilter.c @@ -32,6 +32,7 @@ #include +#include "noreturn.h" #include "closeout.h" #include "dir-list.h" #include "error.h" @@ -119,11 +120,7 @@ static const struct option long_options[] = /* Forward declaration of local functions. */ -static void usage (int status) -#if defined __GNUC__ && ((__GNUC__ == 2 && __GNUC_MINOR__ >= 5) || __GNUC__ > 2) - __attribute__ ((noreturn)) -#endif -; +_GL_NORETURN_FUNC static void usage (int status); static void generic_filter (const char *str, size_t len, char **resultp, size_t *lengthp); static msgdomain_list_ty *process_msgdomain_list (msgdomain_list_ty *mdlp); diff --git a/gettext-tools/src/msgfmt.c b/gettext-tools/src/msgfmt.c index 06c612a81..4da5bfa0d 100644 --- a/gettext-tools/src/msgfmt.c +++ b/gettext-tools/src/msgfmt.c @@ -31,6 +31,7 @@ #include #include +#include "noreturn.h" #include "closeout.h" #include "str-list.h" #include "dir-list.h" @@ -218,11 +219,7 @@ static const struct option long_options[] = /* Forward declaration of local functions. */ -static void usage (int status) -#if defined __GNUC__ && ((__GNUC__ == 2 && __GNUC_MINOR__ >= 5) || __GNUC__ > 2) - __attribute__ ((noreturn)) -#endif -; +_GL_NORETURN_FUNC static void usage (int status); static const char *add_mo_suffix (const char *); static struct msg_domain *new_domain (const char *name, const char *file_name); static bool is_nonobsolete (const message_ty *mp); diff --git a/gettext-tools/src/msggrep.c b/gettext-tools/src/msggrep.c index 6f17e2466..6bb1a74a4 100644 --- a/gettext-tools/src/msggrep.c +++ b/gettext-tools/src/msggrep.c @@ -40,6 +40,7 @@ #include +#include "noreturn.h" #include "closeout.h" #include "dir-list.h" #include "error.h" @@ -132,16 +133,8 @@ static const struct option long_options[] = /* Forward declaration of local functions. */ -static void no_pass (int opt) -#if defined __GNUC__ && ((__GNUC__ == 2 && __GNUC_MINOR__ >= 5) || __GNUC__ > 2) - __attribute__ ((noreturn)) -#endif -; -static void usage (int status) -#if defined __GNUC__ && ((__GNUC__ == 2 && __GNUC_MINOR__ >= 5) || __GNUC__ > 2) - __attribute__ ((noreturn)) -#endif -; +_GL_NORETURN_FUNC static void no_pass (int opt); +_GL_NORETURN_FUNC static void usage (int status); static msgdomain_list_ty *process_msgdomain_list (msgdomain_list_ty *mdlp); diff --git a/gettext-tools/src/msginit.c b/gettext-tools/src/msginit.c index bf4a303cf..ff0b7d782 100644 --- a/gettext-tools/src/msginit.c +++ b/gettext-tools/src/msginit.c @@ -54,6 +54,7 @@ /* Get BINDIR. */ #include "configmake.h" +#include "noreturn.h" #include "closeout.h" #include "error.h" #include "error-progname.h" @@ -136,11 +137,7 @@ static const struct option long_options[] = }; /* Forward declaration of local functions. */ -static void usage (int status) -#if defined __GNUC__ && ((__GNUC__ == 2 && __GNUC_MINOR__ >= 5) || __GNUC__ > 2) - __attribute__ ((noreturn)) -#endif -; +_GL_NORETURN_FUNC static void usage (int status); static const char *find_pot (void); static const char *catalogname_for_locale (const char *locale); static const char *language_of_locale (const char *locale); diff --git a/gettext-tools/src/msgl-iconv.c b/gettext-tools/src/msgl-iconv.c index a9bada3bc..c66d14a0b 100644 --- a/gettext-tools/src/msgl-iconv.c +++ b/gettext-tools/src/msgl-iconv.c @@ -1,5 +1,5 @@ /* Message list charset and locale charset handling. - Copyright (C) 2001-2003, 2005-2009, 2019 Free Software Foundation, Inc. + Copyright (C) 2001-2003, 2005-2009, 2019-2020 Free Software Foundation, Inc. Written by Bruno Haible , 2001. This program is free software: you can redistribute it and/or modify @@ -32,6 +32,7 @@ # include #endif +#include "noreturn.h" #include "progname.h" #include "basename.h" #include "message.h" @@ -51,11 +52,7 @@ #if HAVE_ICONV -static void conversion_error (const struct conversion_context* context) -#if defined __GNUC__ && ((__GNUC__ == 2 && __GNUC_MINOR__ >= 5) || __GNUC__ > 2) - __attribute__ ((noreturn)) -#endif -; +_GL_NORETURN_FUNC static void conversion_error (const struct conversion_context* context); static void conversion_error (const struct conversion_context* context) { diff --git a/gettext-tools/src/msgmerge.c b/gettext-tools/src/msgmerge.c index 424de7fde..42facb280 100644 --- a/gettext-tools/src/msgmerge.c +++ b/gettext-tools/src/msgmerge.c @@ -34,6 +34,7 @@ #include +#include "noreturn.h" #include "closeout.h" #include "dir-list.h" #include "error.h" @@ -167,11 +168,7 @@ struct statistics /* Forward declaration of local functions. */ -static void usage (int status) -#if defined __GNUC__ && ((__GNUC__ == 2 && __GNUC_MINOR__ >= 5) || __GNUC__ > 2) - __attribute__ ((noreturn)) -#endif -; +_GL_NORETURN_FUNC static void usage (int status); static void compendium (const char *filename); static void msgdomain_list_stablesort_by_obsolete (msgdomain_list_ty *mdlp); static msgdomain_list_ty *merge (const char *fn1, const char *fn2, diff --git a/gettext-tools/src/msgunfmt.c b/gettext-tools/src/msgunfmt.c index f23b90be0..8120316c9 100644 --- a/gettext-tools/src/msgunfmt.c +++ b/gettext-tools/src/msgunfmt.c @@ -29,6 +29,7 @@ #include +#include "noreturn.h" #include "closeout.h" #include "error.h" #include "error-progname.h" @@ -107,11 +108,7 @@ static const struct option long_options[] = /* Forward declaration of local functions. */ -static void usage (int status) -#if defined __GNUC__ && ((__GNUC__ == 2 && __GNUC_MINOR__ >= 5) || __GNUC__ > 2) - __attribute__ ((noreturn)) -#endif -; +_GL_NORETURN_FUNC static void usage (int status); static void read_one_file (message_list_ty *mlp, const char *filename); diff --git a/gettext-tools/src/msguniq.c b/gettext-tools/src/msguniq.c index cd3ff5478..6616ced3e 100644 --- a/gettext-tools/src/msguniq.c +++ b/gettext-tools/src/msguniq.c @@ -29,6 +29,7 @@ #include +#include "noreturn.h" #include "closeout.h" #include "dir-list.h" #include "str-list.h" @@ -92,11 +93,7 @@ static const struct option long_options[] = /* Forward declaration of local functions. */ -static void usage (int status) -#if defined __GNUC__ && ((__GNUC__ == 2 && __GNUC_MINOR__ >= 5) || __GNUC__ > 2) - __attribute__ ((noreturn)) -#endif -; +_GL_NORETURN_FUNC static void usage (int status); int diff --git a/gettext-tools/src/recode-sr-latin.c b/gettext-tools/src/recode-sr-latin.c index c19983393..23d21cde4 100644 --- a/gettext-tools/src/recode-sr-latin.c +++ b/gettext-tools/src/recode-sr-latin.c @@ -31,6 +31,7 @@ #include #endif +#include "noreturn.h" #include "closeout.h" #include "error.h" #include "progname.h" @@ -56,11 +57,7 @@ static const struct option long_options[] = }; /* Forward declaration of local functions. */ -static void usage (int status) -#if defined __GNUC__ && ((__GNUC__ == 2 && __GNUC_MINOR__ >= 5) || __GNUC__ > 2) - __attribute__ ((noreturn)) -#endif -; +_GL_NORETURN_FUNC static void usage (int status); static void process (FILE *stream); int diff --git a/gettext-tools/src/urlget.c b/gettext-tools/src/urlget.c index 5b4289c5f..97e9d0fda 100644 --- a/gettext-tools/src/urlget.c +++ b/gettext-tools/src/urlget.c @@ -30,6 +30,7 @@ #include #include +#include "noreturn.h" #include "closeout.h" #include "error.h" #include "error-progname.h" @@ -81,11 +82,7 @@ static const struct option long_options[] = /* Forward declaration of local functions. */ -static void usage (int status) -#if defined __GNUC__ && ((__GNUC__ == 2 && __GNUC_MINOR__ >= 5) || __GNUC__ > 2) - __attribute__ ((noreturn)) -#endif -; +_GL_NORETURN_FUNC static void usage (int status); static void fetch (const char *url, const char *file); diff --git a/gettext-tools/src/xgettext.c b/gettext-tools/src/xgettext.c index 72b6e2b08..f5e8765c1 100644 --- a/gettext-tools/src/xgettext.c +++ b/gettext-tools/src/xgettext.c @@ -41,6 +41,7 @@ #include +#include "noreturn.h" #include "rc-str-list.h" #include "xg-encoding.h" #include "xg-arglist-context.h" @@ -303,11 +304,7 @@ struct extractor_ty /* Forward declaration of local functions. */ -static void usage (int status) -#if defined __GNUC__ && ((__GNUC__ == 2 && __GNUC_MINOR__ > 4) || __GNUC__ > 2) - __attribute__ ((noreturn)) -#endif -; +_GL_NORETURN_FUNC static void usage (int status); static void read_exclusion_file (char *file_name); static void extract_from_file (const char *file_name, extractor_ty extractor, msgdomain_list_ty *mdlp); diff --git a/gettext-tools/tests/tstgettext.c b/gettext-tools/tests/tstgettext.c index 8845ce090..cff65313b 100644 --- a/gettext-tools/tests/tstgettext.c +++ b/gettext-tools/tests/tstgettext.c @@ -27,6 +27,7 @@ #include #include +#include "noreturn.h" #include "closeout.h" #include "error.h" #include "progname.h" @@ -69,11 +70,7 @@ static const struct option long_options[] = }; /* Forward declaration of local functions. */ -static void usage (int status) -#if defined __GNUC__ && ((__GNUC__ == 2 && __GNUC_MINOR__ >= 5) || __GNUC__ > 2) - __attribute__ ((noreturn)) -#endif -; +_GL_NORETURN_FUNC static void usage (int status); int main (int argc, char *argv[]) diff --git a/gettext-tools/tests/tstngettext.c b/gettext-tools/tests/tstngettext.c index 9b253aaf4..eef1cdee0 100644 --- a/gettext-tools/tests/tstngettext.c +++ b/gettext-tools/tests/tstngettext.c @@ -26,6 +26,7 @@ #include #include +#include "noreturn.h" #include "closeout.h" #include "error.h" #include "progname.h" @@ -57,11 +58,7 @@ static const struct option long_options[] = }; /* Forward declaration of local functions. */ -static void usage (int __status) -#if defined __GNUC__ && ((__GNUC__ == 2 && __GNUC_MINOR__ >= 5) || __GNUC__ > 2) - __attribute__ ((noreturn)) -#endif -; +_GL_NORETURN_FUNC static void usage (int __status); int main (int argc, char *argv[]) -- 2.47.3