summaryrefslogtreecommitdiff
path: root/gcc/cgraphunit.c
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2007-02-24 19:02:40 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2007-02-24 19:02:40 +0000
commit55680befb0b4e26e0214a8ec86f9de3518fc8b29 (patch)
tree9e3a2dbb0ddb5d1afef5ee56704ab6f59da22a45 /gcc/cgraphunit.c
parentebf8b4f5231942a432253f8c8bedf24e9b119e24 (diff)
downloadgcc-55680befb0b4e26e0214a8ec86f9de3518fc8b29.tar.gz
* cgraphunit.c (decide_is_function_needed): Honor
-fkeep-inline-functions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@122293 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cgraphunit.c')
-rw-r--r--gcc/cgraphunit.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c
index 16c34aecfeb..55b915d3ff4 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. */