aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-decl.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/c-decl.c')
-rw-r--r--gcc/c-decl.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/gcc/c-decl.c b/gcc/c-decl.c
index f4896f3..6afcd7a 100644
--- a/gcc/c-decl.c
+++ b/gcc/c-decl.c
@@ -6181,9 +6181,16 @@ c_expand_body_1 (tree fndecl, int nested_p)
/* Make sure that we will evaluate variable-sized types involved
in our function's type. */
expand_pending_sizes (DECL_LANG_SPECIFIC (fndecl)->pending_sizes);
+
+ /* Squirrel away our current state. */
+ push_function_context ();
}
- tree_rest_of_compilation (fndecl);
+ tree_rest_of_compilation (fndecl, nested_p);
+
+ if (nested_p)
+ /* Return to the enclosing function. */
+ pop_function_context ();
if (DECL_STATIC_CONSTRUCTOR (fndecl))
{