diff options
Diffstat (limited to 'gcc/cp/decl.c')
-rw-r--r-- | gcc/cp/decl.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index 2a4eaea..fe3e24d 100644 --- a/gcc/cp/decl.c +++ b/gcc/cp/decl.c @@ -4207,9 +4207,6 @@ pushdecl (x) them there. */ struct binding_level *b = current_binding_level->level_chain; - /* Skip the ctor/dtor cleanup level. */ - b = b->level_chain; - /* ARM $8.3 */ if (b->parm_flag == 1) { @@ -14054,6 +14051,14 @@ begin_function_body () { tree stmt; + if (processing_template_decl) + /* Do nothing now. */; + else + /* Always keep the BLOCK node associated with the outermost pair of + curly braces of a function. These are needed for correct + operation of dwarfout.c. */ + keep_next_level (1); + stmt = begin_compound_stmt (0); COMPOUND_STMT_BODY_BLOCK (stmt) = 1; @@ -14064,11 +14069,6 @@ begin_function_body () else if (DECL_DESTRUCTOR_P (current_function_decl)) begin_destructor_body (); - /* Always keep the BLOCK node associated with the outermost pair of - curly braces of a function. These are needed for correct - operation of dwarfout.c. */ - keep_next_level (1); - return stmt; } |