[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] question regarding gnu-isms
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? 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 Liguori > > > This 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 -- Dave: Just a question. What use is a unicyle with no seat? And no pedals! Mark: To answer a question with a question: What use is a skateboard? Dave: Skateboards have wheels. Mark: My wheel has a wheel! _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |