WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

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