LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: "Mike Frysinger" <vapier.adi@gmail.com>
To: "Takashi Iwai" <tiwai@suse.de>
Cc: alsa-devel@alsa-project.org, "Mike Frysinger" <vapier@gentoo.org>,
linux-kernel@vger.kernel.org
Subject: Re: [alsa-devel] [PATCH] ALSA: have snd_BUG_ON() always refer to arguments
Date: Fri, 7 Nov 2008 04:30:43 -0500 [thread overview]
Message-ID: <8bd0f97a0811070130w540f8110l978c8910fad924e0@mail.gmail.com> (raw)
In-Reply-To: <s5h4p2kq71k.wl%tiwai@suse.de>
On Fri, Nov 7, 2008 at 03:22, Takashi Iwai wrote:
> 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 ? :)
we arent talking about assert() here nor are we talking about assert()
behavior, but i would say it was a poor decision. the fact that it's
called snd_BUG_ON() instead of snd_WARN_ON() is also a bit broken imo.
BUG() kills the kernel while WARN() complains, and snd_BUG_ON() is
clearly in the latter category.
that said, you could just define snd_BUG_ON() in terms of WARN_ON()
all the time:
#ifdef CONFIG_SND_DEBUG
# define SND_DEBUG 1
#else
# define SND_DEBUG 0
#endif
#define snd_BUG() WARN(SND_DEBUG, "BUG?\n")
#define snd_BUG_ON(cond) WARN(SND_DEBUG && (cond), "BUG? (%s)\n",
__stringify(cond))
-mike
next prev parent reply other threads:[~2008-11-07 9:30 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-11-07 2:05 Mike Frysinger
2008-11-07 6:22 ` Takashi Iwai
2008-11-07 7:09 ` Mike Frysinger
2008-11-07 7:15 ` [alsa-devel] " Takashi Iwai
2008-11-07 7:29 ` Mike Frysinger
2008-11-07 7:36 ` Takashi Iwai
2008-11-07 7:56 ` Mike Frysinger
2008-11-07 7:38 ` Takashi Iwai
2008-11-07 7:57 ` Mike Frysinger
2008-11-07 8:03 ` Takashi Iwai
2008-11-07 8:05 ` Mike Frysinger
2008-11-07 8:22 ` Takashi Iwai
2008-11-07 9:30 ` Mike Frysinger [this message]
2008-11-07 9:56 ` Takashi Iwai
2008-11-07 10:03 ` Mike Frysinger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=8bd0f97a0811070130w540f8110l978c8910fad924e0@mail.gmail.com \
--to=vapier.adi@gmail.com \
--cc=alsa-devel@alsa-project.org \
--cc=linux-kernel@vger.kernel.org \
--cc=tiwai@suse.de \
--cc=vapier@gentoo.org \
--subject='Re: [alsa-devel] [PATCH] ALSA: have snd_BUG_ON() always refer to arguments' \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).