summaryrefslogtreecommitdiff
path: root/src/lib/eolian/database_validate.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/eolian/database_validate.c')
-rw-r--r--src/lib/eolian/database_validate.c21
1 files changed, 11 insertions, 10 deletions
diff --git a/src/lib/eolian/database_validate.c b/src/lib/eolian/database_validate.c
index b8b7f81..6d13d53 100644
--- a/src/lib/eolian/database_validate.c
+++ b/src/lib/eolian/database_validate.c
@@ -269,7 +269,14 @@ _validate_type(Validate_State *vals, Eolian_Type *tp)
269 switch (tp->type) 269 switch (tp->type)
270 { 270 {
271 case EOLIAN_TYPE_VOID: 271 case EOLIAN_TYPE_VOID:
272 return _validate(&tp->base);
272 case EOLIAN_TYPE_UNDEFINED: 273 case EOLIAN_TYPE_UNDEFINED:
274 if (vals->stable)
275 {
276 _eo_parser_log(&tp->base,
277 "__undefined_type not allowed in stable context");
278 return EINA_FALSE;
279 }
273 return _validate(&tp->base); 280 return _validate(&tp->base);
274 case EOLIAN_TYPE_REGULAR: 281 case EOLIAN_TYPE_REGULAR:
275 { 282 {
@@ -314,17 +321,11 @@ _validate_type(Validate_State *vals, Eolian_Type *tp)
314 default: 321 default:
315 break; 322 break;
316 } 323 }
317 switch (id) 324 if (id == KW_void_ptr && vals->stable)
318 { 325 {
319 case KW_void_ptr: 326 _eo_parser_log(&tp->base,
320 case KW___undefined_type: 327 "void pointers not allowed in stable context");
321 if (vals->stable) 328 return EINA_FALSE;
322 {
323 _eo_parser_log(&tp->base,
324 "deprecated builtin type '%s' not allowed in stable context",
325 tp->base.name);
326 return EINA_FALSE;
327 }
328 } 329 }
329 return _validate(&tp->base); 330 return _validate(&tp->base);
330 } 331 }