On Mon, Mar 28, 2011 at 4:51 PM, H. Peter Anvin <hpa@xxxxxxxxx> wrote: > On 03/28/2011 07:45 AM, tip-bot for Steven Rostedt wrote: >> >> WARN_ON_SMP(): Add comment to explain ({0;}) >> >> The define to use ({0;}) for the !CONFIG_SMP case of WARN_ON_SMP() >> can be confusing. As the WARN_ON_SMP() needs to be a nop when >> CONFIG_SMP is not set, including all its parameters must not be >> evaluated, and that it must work as both a stand alone statement >> and inside an if condition, we define it to a funky ({0;}). >> >> A simple "0" will not work as it causes gcc to give the warning that >> the statement has no effect. >> >> As this strange definition has raised a few eyebrows from some >> major kernel developers, it is wise to document why we create such >> a work of art. >> > > What the heck is wrong with the idiomatic and non-gcc-extension-using: > > ((void)0) > > ? AFAIK you cannot use it within an if-statement. > -hpa > > -- > H. Peter Anvin, Intel Open Source Technology Center > I work for Intel. I don't speak on their behalf. > > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ > -- Thanks, //richard -- To unsubscribe from this list: send the line "unsubscribe linux-tip-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html