diff options
author | Richard Stallman <rms@gnu.org> | 1993-11-23 06:19:36 +0000 |
---|---|---|
committer | Richard Stallman <rms@gnu.org> | 1993-11-23 06:19:36 +0000 |
commit | 1be07046359570d2e482b49f1d2a184141410a2a (patch) | |
tree | 26df665a09044f4265de32d1c2d5e78fc5e1964c /gcc | |
parent | 0e5eedfeb07de9302f853038fb3a94f8086558ec (diff) | |
download | gcc-1be07046359570d2e482b49f1d2a184141410a2a.zip gcc-1be07046359570d2e482b49f1d2a184141410a2a.tar.gz gcc-1be07046359570d2e482b49f1d2a184141410a2a.tar.bz2 |
(expand_function_end): New arg END_BINDINGS.
From-SVN: r6141
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/function.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/gcc/function.c b/gcc/function.c index 9c2cf5f..3e388f6 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. */ |