From: Richard Stallman Date: Tue, 23 Nov 1993 06:19:36 +0000 (+0000) Subject: (expand_function_end): New arg END_BINDINGS. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1be07046359570d2e482b49f1d2a184141410a2a;p=gcc.git (expand_function_end): New arg END_BINDINGS. From-SVN: r6141 --- diff --git a/gcc/function.c b/gcc/function.c index 9c2cf5fa16d..3e388f6025a 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -4887,12 +4887,14 @@ expand_function_start (subr, parms_have_cleanups) /* Generate RTL for the end of the current function. FILENAME and LINE are the current position in the source file. */ -/* It is up to language-specific callers to do cleanups for parameters. */ +/* It is up to language-specific callers to do cleanups for parameters-- + or else, supply 1 for END_BINDINGS and we will call expand_end_bindings. */ void -expand_function_end (filename, line) +expand_function_end (filename, line, end_bindings) char *filename; int line; + int end_bindings; { register int i; tree link; @@ -5022,6 +5024,10 @@ expand_function_end (filename, line) if (return_label) emit_label (return_label); + /* C++ uses this. */ + if (end_bindings) + expand_end_bindings (0, 0, 0); + /* If we had calls to alloca, and this machine needs an accurate stack pointer to exit the function, insert some code to save and restore the stack pointer. */