Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755267AbZAEPO0 (ORCPT ); Mon, 5 Jan 2009 10:14:26 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751066AbZAEPOR (ORCPT ); Mon, 5 Jan 2009 10:14:17 -0500 Received: from mail-ew0-f17.google.com ([209.85.219.17]:49336 "EHLO mail-ew0-f17.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750988AbZAEPOR (ORCPT ); Mon, 5 Jan 2009 10:14:17 -0500 DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:x-enigmail-version:content-type :content-transfer-encoding; b=e6A2CO7CoQEOuqwTAgodt4RvOfJGH+fyB8AYCv32vg81FYiIeZ8VdqEMekcGnpkCpr g8+EPDuHuixQMsxaCmUTYnZ7KfhKE5a9Px892PPklTgUtXW93SatTTajZA+PBouan1q6 O+CrIWTULLCUZ2nBut55EqRDUF5ioYLcrWV1Q= Message-ID: <496223C4.20307@gmail.com> Date: Mon, 05 Jan 2009 16:14:12 +0100 From: Jiri Slaby User-Agent: Thunderbird 2.0.0.19 (X11/20081227) MIME-Version: 1.0 To: Cyrill Gorcunov CC: Andi Kleen , Johannes Weiner , Robert Hancock , linux-kernel@vger.kernel.org, david@lang.hm, Andrew Morton Subject: Re: early exception error References: <20081231195005.GT496@one.firstfloor.org> <20090101041727.GW496@one.firstfloor.org> <20090102172426.GB5372@localhost> <495E7FAD.6020305@shaw.ca> <20090105092619.GA3699@cmpxchg.org> <20090105130836.GN496@one.firstfloor.org> <49621E6E.2010809@gmail.com> <20090105150150.GF7645@localhost> In-Reply-To: <20090105150150.GF7645@localhost> X-Enigmail-Version: 0.95.6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 933 Lines: 32 On 01/05/2009 04:01 PM, Cyrill Gorcunov wrote: > [Jiri Slaby - Mon, Jan 05, 2009 at 03:51:26PM +0100] > | On 01/05/2009 02:08 PM, Andi Kleen wrote: > | > +#define EARLY_BUG_ON(x) do { if (unlikely(!(x))) EARLY_BUG(); } while (0) > | > | I think unintentionally inverted logic. > > just second ! is missed :) None is needed, two '!' are added in the macro itself while it passes the parameter to the builtin. > | > | > +#define EARLY_BUG_ON(x) do {} while(0) > | > | Shouldn't be x referenced here? > | > > but for what? I know, core devs are sane, but e.g. for reasons such as {'a' is used here already} EARLY_BUG_ON(!(a = readl(...))) {use 'a' again} to stay on the safe side. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/