OSDN Git Service

* cgraphunit.c (decide_is_function_needed): Honor
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 24 Feb 2007 19:02:40 +0000 (19:02 +0000)
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 24 Feb 2007 19:02:40 +0000 (19:02 +0000)
-fkeep-inline-functions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@122293 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/cgraphunit.c

index 2e57a9b..84e83e4 100644 (file)
@@ -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.
index 16c34ae..55b915d 100644 (file)
@@ -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.  */