aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1994-01-23 08:13:51 -0500
committerRichard Kenner <kenner@gcc.gnu.org>1994-01-23 08:13:51 -0500
commit16411ea68b4a7f6b2ba8f163dfee36f05ccff773 (patch)
treec998017950fb1c663a2b537e8131cc9a8e7f621f
parenta62cc6e76782500859d94a81c7b3566041df0e1e (diff)
downloadgcc-16411ea68b4a7f6b2ba8f163dfee36f05ccff773.zip
gcc-16411ea68b4a7f6b2ba8f163dfee36f05ccff773.tar.gz
gcc-16411ea68b4a7f6b2ba8f163dfee36f05ccff773.tar.bz2
(rest_of_compilation): Defer compilation of function that were specified as inline...
(rest_of_compilation): Defer compilation of function that were specified as inline, whether or not they actually were inlined. From-SVN: r6413
-rw-r--r--gcc/toplev.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/gcc/toplev.c b/gcc/toplev.c
index 569e069..8f08ea9 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -1,5 +1,5 @@
/* Top level of GNU C compiler
- Copyright (C) 1987, 1988, 1989, 1992, 1993 Free Software Foundation, Inc.
+ Copyright (C) 1987, 88, 89, 92, 93, 1994 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -2372,9 +2372,11 @@ rest_of_compilation (decl)
/* 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
- for those functions that need to be output. */
+ for those functions that need to be output. Also defer those
+ functions that were marked inline but weren't inlined; they
+ may never be used. */
- if (DECL_INLINE (decl)
+ if ((specd || DECL_INLINE (decl))
&& ((! TREE_PUBLIC (decl) && ! TREE_ADDRESSABLE (decl)
&& ! flag_keep_inline_functions)
|| DECL_EXTERNAL (decl)))