Hey, Please take a look at tell me what you think. Everything I have to say is already in the commit message. :)
Obviously, if you have any better suggestions, now is the time to make them. This makes Eo completely clean of GCC extensions apart of the variadric macros which can't sensibly be avoided and are commonly supported (and I think are part of the new standard) anyway. Also, unlike the other extensions, this can be worked around using a simple preprocessor for platforms that for some reason really can't handle this. Looking forward to your feedback. -- Tom. On 23/02/15 17:16, Tom Hacohen wrote: > tasn pushed a commit to branch master. > > http://git.enlightenment.org/core/efl.git/commit/?id=a791d97bfcc7ae66f63e9fa694292bd7a0fc3610 > > commit a791d97bfcc7ae66f63e9fa694292bd7a0fc3610 > Author: Tom Hacohen <t...@stosb.com> > Date: Mon Feb 23 16:06:40 2015 +0000 > > Eo: Remove GCCism and make it more portable. > > This affects eo_do() and eo_add() that used to use the ({}) GCCism. > Following a discussion with Peter de Ridder after my talk at FOSDEM, > we've decided to reopen the GCCism (works with other gcc compatible > compilers like clang and intelc) discussion, and after a bit of back and > forth it was decided to make things more portable, at the cost of ease > of use. > > For example: > if (eo_do(obj, visible_get())) > is no longer allowed, the portable alternative > Eina_Bool tmp; > if (eo_do_ret(obj, tmp, visible_get())) > is to be used instead. > > However: > eo_do(obj, a = a_get(), b = b_get(), bool_set(!bool_get)) > are still allowed and OK. > > eo_do(obj, if (a_get()) return;); > is no longer allowed, but: > eo_do(obj, if (a_get()) something()); > is still allowed. > > For clarity, this commit only incorporates the Eo changes, and not the > EFL changes to make the efl conform with this change. > > Thanks again to Peter de Ridder for triggering this important discussion > which led to this change. ------------------------------------------------------------------------------ Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration & more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=190641631&iu=/4140/ostg.clktrk _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel