efl/src/tests/eo
Tom Hacohen a791d97bfc 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.
2015-02-23 17:16:02 +00:00
..
access Eo: EO_BASE_CLASS->EO_CLASS. 2014-04-10 04:20:21 +01:00
children Eo: Change eo_add/del/unref behaviour. 2014-09-25 17:38:45 +01:00
composite_objects Eo: Remove GCCism and make it more portable. 2015-02-23 17:16:02 +00:00
constructors Eo: Remove GCCism and make it more portable. 2015-02-23 17:16:02 +00:00
function_overrides Eo: EO_BASE_CLASS->EO_CLASS. 2014-04-10 04:20:21 +01:00
interface Eo: EO_BASE_CLASS->EO_CLASS. 2014-04-10 04:20:21 +01:00
mixin Eo: EO_BASE_CLASS->EO_CLASS. 2014-04-10 04:20:21 +01:00
signals Eo base: rename event_freeze_get to event_freeze_count_get. 2014-06-02 12:50:23 +01:00
suite Eo: Remove GCCism and make it more portable. 2015-02-23 17:16:02 +00:00
.gitignore Eo: Add tests dir to .gitignore 2014-04-22 09:54:24 +03:00
eunit_tests.h Eo tests: Fix function overrides test to not test some things when NDEBUG is used. 2013-01-18 16:13:30 +00:00