diff options
| -rw-r--r-- | gcc/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/cgraphunit.c | 6 |
2 files changed, 9 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1ab7732..fff2191 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2006-05-11 Jan Hubicka <jh@suse.cz> + + * cgraphunit.c (decide_is_function_needed): Don't force always_inline + to be output at -O0. + 2006-05-11 Volker Reichelt <reichelt@igpm.rwth-aachen.de> PR middle-end/27384 diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c index 351f5f0..bfa7bff 100644 --- a/gcc/cgraphunit.c +++ b/gcc/cgraphunit.c @@ -219,9 +219,11 @@ 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) + PR25962), but don't do so for always_inline functions. */ - if (((TREE_PUBLIC (decl) || !optimize) && !flag_whole_program) + if (((TREE_PUBLIC (decl) + || (!optimize && !node->local.disregard_inline_limits)) + && !flag_whole_program) && !DECL_COMDAT (decl) && !DECL_EXTERNAL (decl)) return true; |
