From c7c79a09d6abdcfe54b67c54374ca538665152c5 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Tue, 7 Oct 2008 20:15:32 +0200 Subject: f95-lang.c (poplevel): Don't clear BLOCK_VARS if functionbody. * f95-lang.c (poplevel): Don't clear BLOCK_VARS if functionbody. * trans-decl.c (gfc_build_qualified_array): Build accurate debug type even if nest. (build_entry_thunks, gfc_generate_function_code, gfc_generate_constructors): Ensure DECL_SAVED_TREE is a BIND_EXPR with DECL_INITIAL as its BLOCK. From-SVN: r140945 --- gcc/fortran/f95-lang.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) (limited to 'gcc/fortran/f95-lang.c') diff --git a/gcc/fortran/f95-lang.c b/gcc/fortran/f95-lang.c index cf0dc2d..a7d6c8f 100644 --- a/gcc/fortran/f95-lang.c +++ b/gcc/fortran/f95-lang.c @@ -430,14 +430,8 @@ poplevel (int keep, int reverse, int functionbody) current_binding_level = current_binding_level->level_chain; if (functionbody) - { - /* This is the top level block of a function. The ..._DECL chain stored - in BLOCK_VARS are the function's parameters (PARM_DECL nodes). Don't - leave them in the BLOCK because they are found in the FUNCTION_DECL - instead. */ - DECL_INITIAL (current_function_decl) = block_node; - BLOCK_VARS (block_node) = 0; - } + /* This is the top level block of a function. */ + DECL_INITIAL (current_function_decl) = block_node; else if (current_binding_level == global_binding_level) /* When using gfc_start_block/gfc_finish_block from middle-end hooks, don't add newly created BLOCKs as subblocks of global_binding_level. */ -- cgit v1.1