Commit 1be07046 by Richard Stallman

(expand_function_end): New arg END_BINDINGS.

From-SVN: r6141
parent 0e5eedfe
...@@ -4887,12 +4887,14 @@ expand_function_start (subr, parms_have_cleanups) ...@@ -4887,12 +4887,14 @@ expand_function_start (subr, parms_have_cleanups)
/* Generate RTL for the end of the current function. /* Generate RTL for the end of the current function.
FILENAME and LINE are the current position in the source file. */ 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 void
expand_function_end (filename, line) expand_function_end (filename, line, end_bindings)
char *filename; char *filename;
int line; int line;
int end_bindings;
{ {
register int i; register int i;
tree link; tree link;
...@@ -5022,6 +5024,10 @@ expand_function_end (filename, line) ...@@ -5022,6 +5024,10 @@ expand_function_end (filename, line)
if (return_label) if (return_label)
emit_label (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 /* If we had calls to alloca, and this machine needs
an accurate stack pointer to exit the function, an accurate stack pointer to exit the function,
insert some code to save and restore the stack pointer. */ insert some code to save and restore the stack pointer. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment