From: Richard Henderson Date: Thu, 29 Apr 1999 17:43:16 +0000 (-0700) Subject: decl2.c (do_static_initialization): Call do_pending_stack_adjust. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b94c0f4fea4e37a17023419eea3a164b12a23ec7;p=gcc.git decl2.c (do_static_initialization): Call do_pending_stack_adjust. * decl2.c (do_static_initialization): Call do_pending_stack_adjust. (do_static_destruction): Likewise. From-SVN: r26700 --- diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index e19e6d3da23..01e462742c3 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +1999-04-29 Richard Henderson + + * decl2.c (do_static_initialization): Call do_pending_stack_adjust. + (do_static_destruction): Likewise. + 1999-04-29 Nathan Sidwell * cp-tree.h (TYPE_NOTHROW_P): New macro. diff --git a/gcc/cp/decl2.c b/gcc/cp/decl2.c index 20a395783ec..7e96a92a4f2 100644 --- a/gcc/cp/decl2.c +++ b/gcc/cp/decl2.c @@ -3220,6 +3220,11 @@ do_static_initialization (decl, init, sentry, priority) /* Cleanup any temporaries needed for the initial value. */ expand_end_target_temps (); + /* Cleanup any deferred pops from function calls. This would be done + by expand_end_cond, but we also need it when !sentry, since we are + constructing these sequences by parts. */ + do_pending_stack_adjust (); + /* Close the conditional opened above. */ if (sentry) expand_end_cond (); @@ -3276,6 +3281,11 @@ do_static_destruction (decl, sentry, priority) /* Actually to the destruction. */ expand_expr_stmt (build_cleanup (decl)); + /* Cleanup any deferred pops from function calls. This would be done + by expand_end_cond, but we also need it when !sentry, since we are + constructing these sequences by parts. */ + do_pending_stack_adjust (); + /* Close the conditional opened above. */ if (sentry) expand_end_cond ();