diff options
| -rw-r--r-- | gcc/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/cgraphunit.c | 7 |
2 files changed, 12 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2e57a9b..84e83e4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2007-02-24 Jan Hubicka <jh@suse.cz> + + * cgraphunit.c (decide_is_function_needed): Honor + -fkeep-inline-functions. + 2007-02-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> * builtins.c (fold_builtin_modf): New. diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c index 16c34ae..55b915d 100644 --- a/gcc/cgraphunit.c +++ b/gcc/cgraphunit.c @@ -198,6 +198,13 @@ decide_is_function_needed (struct cgraph_node *node, tree decl) && TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl))) return true; + /* With -fkeep-inline-functions we are keeping all inline functions except + for extern inline ones. */ + if (flag_keep_inline_functions + && DECL_DECLARED_INLINE_P (decl) + && !DECL_EXTERNAL (decl)) + return true; + /* If we decided it was needed before, but at the time we didn't have the body of the function available, then it's still needed. We have to go back and re-check its dependencies now. */ |
