aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJason Merrill <jason@yorick.cygnus.com>1997-10-07 18:04:33 +0000
committerJason Merrill <jason@gcc.gnu.org>1997-10-07 14:04:33 -0400
commitc0da11c40af197cc142294ed2422299e93a00f2e (patch)
tree13dbb6f6c705157efd447e6477fc6679bad81927 /gcc
parent6714c1ae696ae61f9213c87c7120ec0b0b535e63 (diff)
downloadgcc-c0da11c40af197cc142294ed2422299e93a00f2e.zip
gcc-c0da11c40af197cc142294ed2422299e93a00f2e.tar.gz
gcc-c0da11c40af197cc142294ed2422299e93a00f2e.tar.bz2
* toplev.c (rest_of_compilation): Defer all non-nested inlines.
From-SVN: r15861
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/toplev.c5
2 files changed, 9 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index d6f258b..c7eacd9 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -46,6 +46,10 @@ Mon Oct 6 12:04:24 1997 Jeffrey A Law (law@cygnus.com)
* Makefile.in (check-g77): New test target.
(CHECK-TARGETS): Add check-g77.
+Fri Oct 3 11:56:36 1997 Jason Merrill <jason@yorick.cygnus.com>
+
+ * toplev.c (rest_of_compilation): Defer all non-nested inlines.
+
Fri Oct 3 15:49:27 1997 Michael Meissner <meissner@cygnus.com>
* flow.c (print_rtl_with_bb): Cast alloca return value for
diff --git a/gcc/toplev.c b/gcc/toplev.c
index 2658e5b..225964b 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -3022,6 +3022,11 @@ rest_of_compilation (decl)
fflush (rtl_dump_file);
});
+ /* If we can, defer compiling inlines until EOF.
+ save_for_inline_copying can be extremely expensive. */
+ if (inlineable && ! decl_function_context (decl))
+ DECL_DEFER_OUTPUT (decl) = 1;
+
/* If function is inline, and we don't yet know whether to
compile it by itself, defer decision till end of compilation.
finish_compilation will call rest_of_compilation again