forked from enlightenment/efl
Eo: Fixed issue with eo_add ops.
This "fix" is actually just making sure gcc doesn't optimise things wrong. If anyone has an idea how to do it better, please let me know. klass is usually a function and needs to be evaluated before the call to eo_add_internal. SVN revision: 75623
This commit is contained in:
parent
a1687ca4b9
commit
fabeecd5ea
|
@ -562,8 +562,8 @@ EAPI void eo_error_set_internal(const Eo *obj, const char *file, int line);
|
||||||
*/
|
*/
|
||||||
#define eo_add(klass, parent, ...) \
|
#define eo_add(klass, parent, ...) \
|
||||||
({ \
|
({ \
|
||||||
(void) klass; \
|
volatile const Eo_Class *_tmp_klass = klass; \
|
||||||
eo_add_internal(klass, parent, eo_constructor(), ## __VA_ARGS__, EO_NOOP); \
|
eo_add_internal((const Eo_Class *) _tmp_klass, parent, eo_constructor(), ## __VA_ARGS__, EO_NOOP); \
|
||||||
})
|
})
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -576,8 +576,8 @@ EAPI void eo_error_set_internal(const Eo *obj, const char *file, int line);
|
||||||
*/
|
*/
|
||||||
#define eo_add_custom(klass, parent, ...) \
|
#define eo_add_custom(klass, parent, ...) \
|
||||||
({ \
|
({ \
|
||||||
(void) klass; \
|
volatile const Eo_Class *_tmp_klass = klass; \
|
||||||
eo_add_internal(klass, parent, ## __VA_ARGS__, EO_NOOP); \
|
eo_add_internal((const Eo_Class *) _tmp_klass, parent, ## __VA_ARGS__, EO_NOOP); \
|
||||||
})
|
})
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue