From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753310AbdKWQez (ORCPT ); Thu, 23 Nov 2017 11:34:55 -0500 Received: from mail-wr0-f193.google.com ([209.85.128.193]:39393 "EHLO mail-wr0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753243AbdKWQeN (ORCPT ); Thu, 23 Nov 2017 11:34:13 -0500 X-Google-Smtp-Source: AGs4zMaDZFWMZ8ywMWMTSg6NNTp1Xout+hXcl3lFuO2wpbB03Nf1DfXtWwI4fygaWdt4EZpB5biQaA== From: "Vladislav Valtchev (VMware)" To: rostedt@goodmis.org Cc: linux-kernel@vger.kernel.org, y.karadz@gmail.com, "Vladislav Valtchev (VMware)" Subject: [PATCH 10/11] trace-cmd: Making the "die" functions noreturn Date: Thu, 23 Nov 2017 18:33:34 +0200 Message-Id: <20171123163335.19078-11-vladislav.valtchev@gmail.com> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20171123163335.19078-1-vladislav.valtchev@gmail.com> References: <20171123163335.19078-1-vladislav.valtchev@gmail.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patch makes all the "die" functions in trace-cmd noreturn in order we to be able to use them in negative code paths inside non-void functions, without getting compiler warnings and, clearly, without work-arounds like non-sense return statements after a die(). Signed-off-by: Vladislav Valtchev (VMware) --- trace-cmd.h | 2 ++ trace-local.h | 6 +++--- trace-util.c | 8 +++----- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/trace-cmd.h b/trace-cmd.h index 3fb6aab..6fd34d7 100644 --- a/trace-cmd.h +++ b/trace-cmd.h @@ -23,6 +23,8 @@ #include "event-parse.h" #define ARRAY_SIZE(_a) (sizeof(_a) / sizeof((_a)[0])) +#define __weak __attribute__((weak)) +#define __noreturn __attribute__((noreturn)) #define TRACECMD_ERR_MSK ((unsigned long)(-1) & ~((1UL << 14) - 1)) #define TRACECMD_ISERR(ptr) ((unsigned long)(ptr) > TRACECMD_ERR_MSK) diff --git a/trace-local.h b/trace-local.h index cb47e78..a06dc9b 100644 --- a/trace-local.h +++ b/trace-local.h @@ -212,9 +212,9 @@ void show_instance_file(struct buffer_instance *instance, const char *name); int count_cpus(void); /* No longer in event-utils.h */ -void die(const char *fmt, ...); /* Can be overriden */ +void __noreturn die(const char *fmt, ...); /* Can be overriden */ void *malloc_or_die(unsigned int size); /* Can be overridden */ -void __die(const char *fmt, ...); -void __vdie(const char *fmt, va_list ap); +void __noreturn __die(const char *fmt, ...); +void __noreturn _vdie(const char *fmt, va_list ap); #endif /* __TRACE_LOCAL_H */ diff --git a/trace-util.c b/trace-util.c index 45fa95a..0f53e16 100644 --- a/trace-util.c +++ b/trace-util.c @@ -1613,7 +1613,7 @@ void tracecmd_put_tracing_file(char *name) free(name); } -void __vdie(const char *fmt, va_list ap) +void __noreturn __vdie(const char *fmt, va_list ap) { int ret = errno; @@ -1629,7 +1629,7 @@ void __vdie(const char *fmt, va_list ap) exit(ret); } -void __die(const char *fmt, ...) +void __noreturn __die(const char *fmt, ...) { va_list ap; @@ -1638,9 +1638,7 @@ void __die(const char *fmt, ...) va_end(ap); } -#define __weak __attribute__((weak)) - -void __weak die(const char *fmt, ...) +void __weak __noreturn die(const char *fmt, ...) { va_list ap; -- 2.14.1