From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752936AbYKGHgb (ORCPT ); Fri, 7 Nov 2008 02:36:31 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752340AbYKGHgT (ORCPT ); Fri, 7 Nov 2008 02:36:19 -0500 Received: from mail.suse.de ([195.135.220.2]:33484 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752152AbYKGHgR (ORCPT ); Fri, 7 Nov 2008 02:36:17 -0500 Date: Fri, 07 Nov 2008 08:36:15 +0100 Message-ID: From: Takashi Iwai To: "Mike Frysinger" Cc: alsa-devel@alsa-project.org, "Mike Frysinger" , linux-kernel@vger.kernel.org Subject: Re: [alsa-devel] [PATCH] ALSA: have snd_BUG_ON() always refer to arguments In-Reply-To: <8bd0f97a0811062329l26f8338ahbb62bab9e8284c36@mail.gmail.com> References: <1226023521-10037-1-git-send-email-vapier@gentoo.org> <8bd0f97a0811062309m4029f612k4d3fe380e6d124df@mail.gmail.com> <8bd0f97a0811062329l26f8338ahbb62bab9e8284c36@mail.gmail.com> User-Agent: Wanderlust/2.12.0 (Your Wildest Dreams) SEMI/1.14.6 (Maruoka) FLIM/1.14.7 (=?ISO-8859-4?Q?Sanj=F2?=) APEL/10.6 Emacs/22.3 (x86_64-suse-linux-gnu) MULE/5.0 (SAKAKI) MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org At Fri, 7 Nov 2008 02:29:25 -0500, Mike Frysinger wrote: > > On Fri, Nov 7, 2008 at 02:15, Takashi Iwai wrote: > > At Fri, 7 Nov 2008 02:09:04 -0500, > > Mike Frysinger wrote: > >> On Fri, Nov 7, 2008 at 01:22, Takashi Iwai wrote: > >> > At Thu, 6 Nov 2008 21:05:21 -0500, > >> > Mike Frysinger wrote: > >> >> The snd_BUG_ON() macro should always expand its argument even if we're > >> >> forcing it to false. This kills off unused warnings that did not exist > >> >> before the snd_assert() -> snd_BUG_ON() conversion. > >> > > >> > Andrew already change this differently. Check with the latest version. > >> > >> what are you defining as "latest version" ? i'm looking in torvalds > >> linux-2.6.git. > > > > git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6.git > > > >> > And which warning did you get actually? > >> > >> a few codecs define local vars which only get used in snd_BUG_ON() ... > >> so if snd_BUG_ON() doesnt utilize cond, gcc whines that the var is > >> unused. > > > > I know it. But I thought all these were removed in the actual codes. > > I'd like to see the real warning messages. > > seems the warnings where in codec drivers we havent pushed into > mainline yet. regardless, i dont think auditing code and changing it > just to avoid (cond) references is the way to go. it also breaks > valid C code if there were side effects in the (cond) as any other > macro which does not properly utilize every argument exactly once. IIRC, just giving 0 in a macro like your patch resulted in another warning messages in case it's used plainly like: snd_BUG_ON(foo); That's the reason why { 0; } was used in the first place. But, this caused yet another warning messages depending on gcc versions, thus Andrew fixed it previously. I think the best way is to change the latest code like: #define snd_BUG_ON(cond) __snd_bug_on(0 && (cond)) Takashi