LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Takashi Iwai <tiwai@suse.de>
To: "Mike Frysinger" <vapier.adi@gmail.com>
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, 07 Nov 2008 10:56:38 +0100	[thread overview]
Message-ID: <s5hr65nq2p5.wl%tiwai@suse.de> (raw)
In-Reply-To: <8bd0f97a0811070130w540f8110l978c8910fad924e0@mail.gmail.com>

At Fri, 7 Nov 2008 04:30:43 -0500,
Mike Frysinger wrote:
> 
> 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.

Right, that's a bit confusing.  It came because we had already
snd_BUG() macro.  I took snd_BUG_ON() from the analogy of snd_BUG().

> that said, you could just define snd_BUG_ON() in terms of WARN_ON()
> all the time:

Hm, this looks a good alternative, too.
Though, this was already fixed on my git tree in another way...


Takashi

> #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
> 

  reply	other threads:[~2008-11-07  9:56 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
2008-11-07  9:56                     ` Takashi Iwai [this message]
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=s5hr65nq2p5.wl%tiwai@suse.de \
    --to=tiwai@suse.de \
    --cc=alsa-devel@alsa-project.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=vapier.adi@gmail.com \
    --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).