From b880a1c7e8b92f1a8fc08ee26e93d879a36de7d0 Mon Sep 17 00:00:00 2001 From: Daniel Kolesa Date: Tue, 10 Sep 2019 14:06:46 +0200 Subject: [PATCH] eolian: add an optional warning for ptr() usage in stable API --- src/lib/eolian/database_validate.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/lib/eolian/database_validate.c b/src/lib/eolian/database_validate.c index 82b176163d..aa0976600f 100644 --- a/src/lib/eolian/database_validate.c +++ b/src/lib/eolian/database_validate.c @@ -14,6 +14,7 @@ typedef struct _Validate_State Eina_Bool stable; Eina_Bool unimplemented; Eina_Bool unimplemented_beta; + Eina_Bool ptr_stable; } Validate_State; static Eina_Bool @@ -260,6 +261,8 @@ _validate_type(Validate_State *vals, Eolian_Type *tp) if (tp->is_ptr) { + if (vals->stable && vals->ptr_stable) + _eo_parser_log(&tp->base, "ptr() used in stable API"); tp->is_ptr = EINA_FALSE; Eina_Bool still_ownable = database_type_is_ownable(src, tp, EINA_FALSE); tp->is_ptr = EINA_TRUE; @@ -1473,6 +1476,7 @@ database_validate(const Eolian_Unit *src) EINA_TRUE, !!getenv("EOLIAN_CLASS_UNIMPLEMENTED_WARN"), !!getenv("EOLIAN_CLASS_UNIMPLEMENTED_BETA_WARN"), + !!getenv("EOLIAN_PTR_STABLE_WARN") }; /* do an initial pass to refill inherits */