jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=1adb93b3e5ebee9ebc2c9d9a867d70099f27bbad
commit 1adb93b3e5ebee9ebc2c9d9a867d70099f27bbad Author: Jean-Philippe Andre <[email protected]> Date: Tue Oct 31 13:58:31 2017 +0900 eolian: Skip @beta APIs for duplicate warnings No warnings: export EOLIAN_WARN_FUNC_DUPLICATES=0 No beta warnings: export EOLIAN_WARN_FUNC_DUPLICATES=1 All warnings including beta: export EOLIAN_WARN_FUNC_DUPLICATES=2 EOLIAN_WARN_FUNC_DUPLICATES is not an API and may change in the future as we improve the tool :) --- src/lib/eolian/database_validate.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/lib/eolian/database_validate.c b/src/lib/eolian/database_validate.c index 28ffd5fe58..ed005edb3b 100644 --- a/src/lib/eolian/database_validate.c +++ b/src/lib/eolian/database_validate.c @@ -290,14 +290,22 @@ _validate_function(Eolian_Function *func, Eina_Hash *nhash) Eolian_Function_Parameter *param; char buf[512]; + static int _duplicates_warn = -1; + if (EINA_UNLIKELY(_duplicates_warn < 0)) + { + const char *s = getenv("EOLIAN_WARN_FUNC_DUPLICATES"); + if (!s) _duplicates_warn = 0; + else _duplicates_warn = atoi(s); + } + const Eolian_Function *ofunc = eina_hash_find(nhash, func->name); - if (ofunc) + if (EINA_UNLIKELY(ofunc && (_duplicates_warn > 0))) { snprintf(buf, sizeof(buf), - "function '%s' redefined (originally at %s:%d:%d)", - func->name, ofunc->base.file, + "%sfunction '%s' redefined (originally at %s:%d:%d)", + func->is_beta ? "beta " : "", func->name, ofunc->base.file, ofunc->base.line, ofunc->base.column); - if (getenv("EOLIAN_WARN_FUNC_DUPLICATES")) + if (!func->is_beta || (_duplicates_warn > 1)) _obj_error(&func->base, buf); } --
