From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752961AbdBMRrA (ORCPT ); Mon, 13 Feb 2017 12:47:00 -0500 Received: from mail.kernel.org ([198.145.29.136]:53746 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752641AbdBMRq7 (ORCPT ); Mon, 13 Feb 2017 12:46:59 -0500 Date: Mon, 13 Feb 2017 12:46:53 -0500 From: Steven Rostedt To: Arnaldo Carvalho de Melo Cc: Namhyung Kim , Jiri Olsa , Linux Kernel Mailing List Subject: Re: [PATCH] building libtraceevent with clang Message-ID: <20170213124653.6a3be2b3@gandalf.local.home> In-Reply-To: <20170213172020.GE6473@kernel.org> References: <20170210170317.GA14313@kernel.org> <20170210141408.5eeb6e91@gandalf.local.home> <20170213162455.GB6473@kernel.org> <20170213162622.GC6473@kernel.org> <20170213121418.47f279e8@gandalf.local.home> <20170213172020.GE6473@kernel.org> X-Mailer: Claws Mail 3.14.0 (GTK+ 2.24.31; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 13 Feb 2017 14:20:20 -0300 Arnaldo Carvalho de Melo wrote: > Sure, now take a look at this another one: > > commit 6401e4361df183bd9953dce56f7c51d8ef28b11e > Author: Arnaldo Carvalho de Melo > Date: Mon Feb 13 13:33:57 2017 -0300 > > tools lib traceevent plugin function: Initialize 'index' variable > > Detected with clang: > > CC /tmp/build/perf/plugin_function.o > plugin_function.c:145:6: warning: variable 'index' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized] > if (parent && ftrace_indent->set) > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ > plugin_function.c:148:29: note: uninitialized use occurs here > trace_seq_printf(s, "%*s", index*3, ""); > ^~~~~ > plugin_function.c:145:2: note: remove the 'if' if its condition is always true > if (parent && ftrace_indent->set) > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > plugin_function.c:145:6: warning: variable 'index' is used uninitialized whenever '&&' condition is false [-Wsometimes-uninitialized] > if (parent && ftrace_indent->set) > ^~~~~~ > plugin_function.c:148:29: note: uninitialized use occurs here > trace_seq_printf(s, "%*s", index*3, ""); > ^~~~~ > plugin_function.c:145:6: note: remove the '&&' if its condition is always true > if (parent && ftrace_indent->set) > ^~~~~~~~~ > plugin_function.c:133:11: note: initialize the variable 'index' to silence this warning > int index; > ^ > = 0 > 2 warnings generated. I wonder why gcc isn't catching these. These look pretty obvious to me. > > Cc: Adrian Hunter > Cc: David Ahern > Cc: Jiri Olsa > Cc: Namhyung Kim > Cc: Wang Nan > Link: http://lkml.kernel.org/n/tip-b5wyjocel55gorl2jq2cbxrr@git.kernel.org > Signed-off-by: Arnaldo Carvalho de Melo > > diff --git a/tools/lib/traceevent/plugin_function.c b/tools/lib/traceevent/plugin_function.c > index a00ec190821a..42dbf73758f3 100644 > --- a/tools/lib/traceevent/plugin_function.c > +++ b/tools/lib/traceevent/plugin_function.c > @@ -130,7 +130,7 @@ static int function_handler(struct trace_seq *s, struct pevent_record *record, > unsigned long long pfunction; > const char *func; > const char *parent; > - int index; > + int index = 0; > > if (pevent_get_field_val(s, event, "ip", record, &function, 1)) > return trace_seq_putc(s, '!'); > Reviewed-by: Steven Rostedt (VMware) -- Steve