From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752658AbYKGIW6 (ORCPT ); Fri, 7 Nov 2008 03:22:58 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751124AbYKGIWt (ORCPT ); Fri, 7 Nov 2008 03:22:49 -0500 Received: from ns2.suse.de ([195.135.220.15]:53591 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750998AbYKGIWs (ORCPT ); Fri, 7 Nov 2008 03:22:48 -0500 Date: Fri, 07 Nov 2008 09:22:47 +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: <8bd0f97a0811070005r6a9fb1e1s9fd88bd264ef8ae2@mail.gmail.com> References: <1226023521-10037-1-git-send-email-vapier@gentoo.org> <8bd0f97a0811062309m4029f612k4d3fe380e6d124df@mail.gmail.com> <8bd0f97a0811062329l26f8338ahbb62bab9e8284c36@mail.gmail.com> <8bd0f97a0811062357y52ff0107yee74c0a2ff010019@mail.gmail.com> <8bd0f97a0811070005r6a9fb1e1s9fd88bd264ef8ae2@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 03:05:56 -0500, Mike Frysinger wrote: > > On Fri, Nov 7, 2008 at 03:03, Takashi Iwai wrote: > > At Fri, 7 Nov 2008 02:57:40 -0500, Mike Frysinger wrote: > >> On Fri, Nov 7, 2008 at 02:38, Takashi Iwai wrote: > >> > At Fri, 7 Nov 2008 02:29:25 -0500, Mike Frysinger wrote: > >> >> 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. > >> > > >> > BTW, what do you mean this exactly? > >> > >> any potent statement. such as assignment or pre/post increment/decrement or ... > > > > Well, in that case, such a code itself is buggy :) > > i'm not advocating doing this sort of thing, i'm saying that > functions/macros should be written correctly so as to not break > standard C behavior. a guy developing a codec driver could waste a > lot of time because of this sort of thing. Well, no, it's a clear bug of the driver. A macro that ignores arguments is normal. Or do you think assert() isn't a part of "standard" C ? :) Takashi