diff --git a/legacy/eobj/src/lib/Eo.h b/legacy/eobj/src/lib/Eo.h index b6e10f3c36..f2a425b0f5 100644 --- a/legacy/eobj/src/lib/Eo.h +++ b/legacy/eobj/src/lib/Eo.h @@ -562,8 +562,8 @@ EAPI void eo_error_set_internal(const Eo *obj, const char *file, int line); */ #define eo_add(klass, parent, ...) \ ({ \ - (void) klass; \ - eo_add_internal(klass, parent, eo_constructor(), ## __VA_ARGS__, EO_NOOP); \ + volatile const Eo_Class *_tmp_klass = klass; \ + 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, ...) \ ({ \ - (void) klass; \ - eo_add_internal(klass, parent, ## __VA_ARGS__, EO_NOOP); \ + volatile const Eo_Class *_tmp_klass = klass; \ + eo_add_internal((const Eo_Class *) _tmp_klass, parent, ## __VA_ARGS__, EO_NOOP); \ }) /**