From b633db7b859751e579a2f0d44c6869c2f505beb8 Mon Sep 17 00:00:00 2001 From: Jan Hubicka Date: Tue, 23 May 2006 02:26:12 +0200 Subject: [PATCH] cgraphunit.c (decide_is_function_needed): Also nested functions and functions declared inline can be optimized out at -O0. * cgraphunit.c (decide_is_function_needed): Also nested functions and functions declared inline can be optimized out at -O0. From-SVN: r114008 --- gcc/ChangeLog | 5 +++++ gcc/cgraphunit.c | 10 +++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 27a17e5f3f7..988d4f9924e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2006-05-23 Jan Hubicka + + * cgraphunit.c (decide_is_function_needed): Also nested functions + and functions declared inline can be optimized out at -O0. + 2006-05-22 Gerald Pfeifer * doc/install.texi (Configuration): Remove reference to CrossGCC diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c index 14e4dca4d47..8a4d0ec69eb 100644 --- a/gcc/cgraphunit.c +++ b/gcc/cgraphunit.c @@ -219,10 +219,14 @@ decide_is_function_needed (struct cgraph_node *node, tree decl) COMDAT functions that must be output only when they are needed. When not optimizing, also output the static functions. (see - PR25962), but don't do so for always_inline functions. - */ + PR25962), but don't do so for always_inline functions, functions + declared inline and nested functions. These was optimized out + in the original implementation and it is unclear whether we want + to change the behaviour here. */ if (((TREE_PUBLIC (decl) - || (!optimize && !node->local.disregard_inline_limits)) + || (!optimize && !node->local.disregard_inline_limits + && !DECL_DECLARED_INLINE_P (decl) + && !node->origin)) && !flag_whole_program) && !DECL_COMDAT (decl) && !DECL_EXTERNAL (decl)) return true; -- 2.30.2