|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] question regarding gnu-isms
Aron Griffis wrote:
Hi Anthony,
Thanks for the explanation of the struct initialization. Regarding
the second one, though...
Anthony Liguori wrote: [Thu Apr 27 2006, 07:04:01PM EDT]
Aron Griffis wrote:
#define xen_create_contiguous_region(vstart, order, address_bits)
({0;})
This is a really common one that lets you make statements into
expressions.
...
#define min(a, b) ({int lhs = a; int rhs = b; (lhs < rhs) ? lhs : rhs;})
That makes sense for the example you gave, but how does it apply to
the definition in question? Is there any difference between ({0;})
and (0) or even 0?
Can you point me to where you saw this (and in what version of Xen)?
There is no difference between (0) and 0 of course. I don't *think*
there's a difference between ({0;}) and (0) but of course I've seen
stranger things before. My guess is that it started it's life as a more
complex set of statements and overtime was reduced to just that.
Regards,
Anthony Liguori
All of these are documented in the GCC Info page (see the section on
C Extensions).
:-) I read that before posting, so I was familiar with the purpose of
enclosing compound statements in expressions. But I'll reread in case
there's something I missed regarding the interpretation of ({0;})
Regards,
Aron
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|