Currently, the function scope (only used for labels) and the block scope of the function's body are distinct scopes, none being a child from the other. This is fine as these scopes are currently unrelated but: * it's unneeded and somehow unintuitive * checking that gotos doesn't jump inside and expression statement is easier if these scopes are properly nested. So, make the function scope and the body's block scope one single scope. Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@xxxxxxxxx> --- scope.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scope.c b/scope.c index 0e4fb3b42150..175d72c23762 100644 --- a/scope.c +++ b/scope.c @@ -91,8 +91,8 @@ void start_symbol_scope(void) void start_function_scope(void) { - start_scope(&function_scope); start_scope(&block_scope); + function_scope = block_scope; } static void remove_symbol_scope(struct symbol *sym) @@ -137,7 +137,7 @@ void end_symbol_scope(void) void end_function_scope(void) { end_scope(&block_scope); - end_scope(&function_scope); + function_scope = block_scope; } int is_outer_scope(struct scope *scope) -- 2.26.0