[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] Fix non-debug build after c/s 23767:80e9fcdaef36



>>> On 22.08.11 at 16:07, Tim Deegan <tim@xxxxxxx> wrote:
> At 15:02 +0100 on 22 Aug (1314025327), George Dunlap wrote:
>> That seems to compile just fine, and obviously makes the code a lot
>> cleaner.  The only thing is that this will still cause functions
>> inside ASSERTS (spin_is_locked() in this case) to be called; I thought
>> part of the reason for having ASSERTs in the debug build only was to
>> reduce the cost of all the checks (the other reason to avoid
>> unnecessary crashes on production builds)?
> 
> How about #define ASSERT(p) do { if (0 && (p)); } while (0) ?

That seems reasonable to me (but doesn't guarantee a more clever
compiler would notice that any variable read only in ASSERT()
expressions may now be initialized but never used - doesn't gcc 4.6
already do this to some degree?).

Jan

> Tim.
> 
>> On Mon, Aug 22, 2011 at 2:35 PM, Keir Fraser <keir.xen@xxxxxxxxx> wrote:
>> > George,
>> >
>> > Would something like this work more generically for the non-debug case?
>> >
>> > #define ASSERT(p) do { if (p); } while (0)
>> >
>> >  -- Keir
>> >





_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.