From 192313be5a97e0f926573628073478d771bf21a4 Mon Sep 17 00:00:00 2001 From: Eric Sandeen Date: Thu, 10 Sep 2009 16:17:56 -0500 Subject: [PATCH] xfsprogs: mark some functions as noreturn Static checkers are a lot less noisy if they know certain functions are noreturn. Making this change removed about 50 errors from "clang" output. (http://clang-analyzer.llvm.org) output. Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Alex Elder --- mkfs/xfs_mkfs.c | 4 ++-- repair/err_protos.h | 12 ++++++++---- repair/xfs_repair.c | 4 ++-- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/mkfs/xfs_mkfs.c b/mkfs/xfs_mkfs.c index 69d91c505..ab8a7d9e7 100644 --- a/mkfs/xfs_mkfs.c +++ b/mkfs/xfs_mkfs.c @@ -27,7 +27,7 @@ */ static void conflict(char opt, char *tab[], int oldidx, int newidx); static void illegal(char *value, char *opt); -static void reqval(char opt, char *tab[], int idx); +static __attribute__((noreturn)) void reqval(char opt, char *tab[], int idx); static void respec(char opt, char *tab[], int idx); static void unknown(char opt, char *s); static int ispow2(unsigned int i); @@ -2464,7 +2464,7 @@ ispow2( return (i & (i - 1)) == 0; } -static void +static void __attribute__((noreturn)) reqval( char opt, char *tab[], diff --git a/repair/err_protos.h b/repair/err_protos.h index 556e9b94d..6944950a8 100644 --- a/repair/err_protos.h +++ b/repair/err_protos.h @@ -16,7 +16,11 @@ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ -void do_abort(char const *, ...); /* abort, internal error */ -void do_error(char const *, ...); /* abort, system error */ -void do_warn(char const *, ...); /* issue warning */ -void do_log(char const *, ...); /* issue log message */ +/* abort, internal error */ +void __attribute__((noreturn)) do_abort(char const *, ...); +/* abort, system error */ +void __attribute__((noreturn)) do_error(char const *, ...); +/* issue warning */ +void do_warn(char const *, ...); +/* issue log message */ +void do_log(char const *, ...); diff --git a/repair/xfs_repair.c b/repair/xfs_repair.c index e9e596511..5dfc3c3e2 100644 --- a/repair/xfs_repair.c +++ b/repair/xfs_repair.c @@ -351,7 +351,7 @@ do_msg(int do_abort, char const *msg, va_list args) } } -void +void __attribute__((noreturn)) do_error(char const *msg, ...) { va_list args; @@ -366,7 +366,7 @@ do_error(char const *msg, ...) * like do_error, only the error is internal, no system * error so no oserror processing */ -void +void __attribute__((noreturn)) do_abort(char const *msg, ...) { va_list args; -- 2.47.2