diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1994-01-23 08:13:51 -0500 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1994-01-23 08:13:51 -0500 |
commit | 16411ea68b4a7f6b2ba8f163dfee36f05ccff773 (patch) | |
tree | c998017950fb1c663a2b537e8131cc9a8e7f621f | |
parent | a62cc6e76782500859d94a81c7b3566041df0e1e (diff) | |
download | gcc-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.c | 8 |
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))) |