(expand_function_end): New arg END_BINDINGS.
authorRichard Stallman <rms@gnu.org>
Tue, 23 Nov 1993 06:19:36 +0000 (06:19 +0000)
committerRichard Stallman <rms@gnu.org>
Tue, 23 Nov 1993 06:19:36 +0000 (06:19 +0000)
From-SVN: r6141

gcc/function.c

index 9c2cf5fa16d8744e3352ca42dec95b93dab7960c..3e388f6025af2af7976b6cde72c39bc3fb9cd464 100644 (file)
@@ -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.  */