Add an helper to check if a scope is included into another one. Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@xxxxxxxxx> --- scope.c | 9 +++++++++ scope.h | 2 ++ 2 files changed, 11 insertions(+) diff --git a/scope.c b/scope.c index 24c8a7a484f7..b5c9e454b55d 100644 --- a/scope.c +++ b/scope.c @@ -163,3 +163,12 @@ int is_outer_scope(struct scope *scope) return 1; } +int is_in_scope(struct scope *outer, struct scope *inner) +{ + while (inner != outer) { + if (inner == &builtin_scope) + return 0; + inner = inner->next; + } + return 1; +} diff --git a/scope.h b/scope.h index ddcb90bd146b..36a56d6adf1d 100644 --- a/scope.h +++ b/scope.h @@ -62,4 +62,6 @@ extern void bind_scope(struct symbol *, struct scope *); extern void rebind_scope(struct symbol *, struct scope *); extern int is_outer_scope(struct scope *); +extern int is_in_scope(struct scope *outer, struct scope *inner); + #endif -- 2.26.0