decl2.c (finish_file): Remove redundant code.
authorJason Merrill <jason@yorick.cygnus.com>
Fri, 7 Nov 1997 03:37:39 +0000 (03:37 +0000)
committerJason Merrill <jason@gcc.gnu.org>
Fri, 7 Nov 1997 03:37:39 +0000 (22:37 -0500)
* decl2.c (finish_file): Remove redundant code.
* method.c (emit_thunk): Don't let the backend defer generic thunks.

From-SVN: r16353

gcc/cp/ChangeLog
gcc/cp/decl2.c
gcc/cp/method.c

index 094b8d6f3e0a57e08608b05cf85c0ccb4cee6a72..8ae7e39e13917142a76befeadf9b03cc029b4c74 100644 (file)
@@ -1,3 +1,8 @@
+Thu Nov  6 11:28:14 1997  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * decl2.c (finish_file): Remove redundant code.
+       * method.c (emit_thunk): Don't let the backend defer generic thunks.
+
 Wed Nov  5 23:52:50 1997  Jason Merrill  <jason@yorick.cygnus.com>
 
        * except.c (call_eh_info): Split out...
index c9c7f7c0fb2b5e8521c5cb879c7b9af6975381fe..2ca75dbbd9b00ae39f2fbca04cf94c50e0730c81 100644 (file)
@@ -3260,12 +3260,6 @@ finish_file ()
                  {
                    DECL_EXTERNAL (decl) = 0;
                    reconsider = 1;
-                   /* We can't inline this function after it's been
-                       emitted, so just disable inlining.  We want a
-                       variant of output_inline_function that doesn't
-                       prevent subsequent integration...  */
-                   flag_no_inline = 1;
-                   temporary_allocation ();
                    output_inline_function (decl);
                    permanent_allocation (1);
                  }
index 3b7dbc833a37035a57b2292146b2f9449ddfec65..0e407fe1ab8c88ab1432490baedcec2b3e8c009d 100644 (file)
@@ -1927,6 +1927,13 @@ emit_thunk (thunk_fndecl)
     c_expand_return (t);
 
     finish_function (lineno, 0, 0);
+
+    /* Don't let the backend defer this function.  */
+    if (DECL_DEFER_OUTPUT (thunk_fndecl))
+      {
+       output_inline_function (thunk_fndecl);
+       permanent_allocation (1);
+      }
 #endif /* ASM_OUTPUT_MI_THUNK */
   }