eo: Change eo_override to avoid struct passing and GCC construct
authorJean-Philippe Andre <jp.andre@samsung.com>
Tue, 19 Jul 2016 08:21:36 +0000 (17:21 +0900)
committerJean-Philippe Andre <jp.andre@samsung.com>
Tue, 19 Jul 2016 08:55:07 +0000 (17:55 +0900)
commit3029227fa1aeaefce7973042b5d2389c2b643814
tree5921b23e975c0ebd53fed4c9eb806c52198c2cb9
parenta9d4d7e83639dd36ee02ca54e9861f6ebdaf63c0
eo: Change eo_override to avoid struct passing and GCC construct

This is a (minor) API & ABI break in Eo.h!

I say minor as eo_override shouldn't be used yet (EO is unstable
and this patch includes all the use cases in EFL).

I'm not very happy about the new form of the macro, but it avoids
two things:
- passing in a struct (valid in C, but never used in EFL)
- using a GCC construct to create structs on the fly

It was inspired by the event array define, but I don't think
we need the runtime memcpy here.

See also:
https://gcc.gnu.org/onlinedocs/gcc/Compound-Literals.html
src/bin/elementary/test_ui_box.c
src/lib/eo/Eo.h
src/lib/eo/eo.c
src/tests/eo/suite/eo_test_general.c