[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] question regarding gnu-isms
Mark Williamson wrote: OK, now I'm curious too...same file: #define xen_create_contiguous_region(vstart, order, address_bits) ({0;})<snip parts of explanation>But clearly you cannot use return for this (and you cannot avoid making a statement here). The GNU ({}) syntax allows you to have statements within an expression and the value of the very last statement in the block becomes the value of the expression. The above could be written:But why do that, if you just wanted to return a constant? why not#define xen_create_contiguous_region(vstart, order, address_bits) 0 for instance? I thought the same exact thing myself. Of course, I can't find it in my tree (xen_create_contiguous_region is a function) so perhaps someone has already fixed it. Regards, Anthony Liguori Cheers, Mark#define min(a, b) ({int lhs = a; int rhs = b; (lhs < rhs) ? lhs : rhs;}) All of these are documented in the GCC Info page (see the section on C Extensions). Regards, Anthony LiguoriThis looks like the usual ({...}) construction but seems pointless. The nearest explanation I could gather for this applies only to C++... surely I'm missing something. :-) Thanks, Aron _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel_______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |