From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751647AbdBOKvA (ORCPT ); Wed, 15 Feb 2017 05:51:00 -0500 Received: from mx1.redhat.com ([209.132.183.28]:59084 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751448AbdBOKu7 (ORCPT ); Wed, 15 Feb 2017 05:50:59 -0500 Date: Wed, 15 Feb 2017 11:50:56 +0100 From: Jiri Olsa To: Arnaldo Carvalho de Melo Cc: Jiri Olsa , Linux Kernel Mailing List Subject: Re: perf pmu: clang points out: address of array 'alias->unit' will always evaluate to 'true' Message-ID: <20170215105056.GB8207@krava> References: <20170214182435.GD4458@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170214182435.GD4458@kernel.org> User-Agent: Mutt/1.7.1 (2016-10-04) X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.29]); Wed, 15 Feb 2017 10:50:59 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Feb 14, 2017 at 03:24:35PM -0300, Arnaldo Carvalho de Melo wrote: > util/pmu.c:948:28: error: address of array 'alias->unit' will always evaluate to 'true' [-Werror,-Wpointer-bool-conversion] > if ((info->unit && alias->unit) || > ~~ ~~~~~~~^~~~ > util/pmu.c:953:13: error: address of array 'alias->unit' will always evaluate to 'true' [-Werror,-Wpointer-bool-conversion] > if (alias->unit) > ~~ ~~~~~~~^~~~ > 2 errors generated. > > > So, is this test about having something on that alias->unit array? I.e. > should this suffice? yep, that seems right.. good catch thanks, jirka > > [acme@jouet linux]$ cat clang.patch > diff --git a/tools/perf/util/pmu.c b/tools/perf/util/pmu.c > index 82a654dec666..49bfee0e3d9e 100644 > --- a/tools/perf/util/pmu.c > +++ b/tools/perf/util/pmu.c > @@ -945,12 +945,12 @@ static int check_info_data(struct perf_pmu_alias *alias, > * define unit, scale and snapshot, fail > * if there's more than one. > */ > - if ((info->unit && alias->unit) || > + if ((info->unit && alias->unit[0]) || > (info->scale && alias->scale) || > (info->snapshot && alias->snapshot)) > return -EINVAL; > > - if (alias->unit) > + if (alias->unit[0]) > info->unit = alias->unit; > > if (alias->scale) > [acme@jouet linux]$