summaryrefslogtreecommitdiff
path: root/gcc/cgraphunit.c
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2006-10-15 19:46:26 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2006-10-15 19:46:26 +0000
commit46b2c17d488530aa47b9aaa24fa8ffc48ec0b057 (patch)
tree1902397fabe9819b2a235506aa5e63af0363f012 /gcc/cgraphunit.c
parentaa5e06c783996a1fd129740f415b90430f63a439 (diff)
downloadgcc-46b2c17d488530aa47b9aaa24fa8ffc48ec0b057.tar.gz
PR middle-end/29241
* cgraphunit.c (cgraph_preserve_function_body_p): Preserve functions declared always_inline even when not inlining. * gcc.c-torture/compile/pr29241.c: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@117753 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cgraphunit.c')
-rw-r--r--gcc/cgraphunit.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c
index fbe70ddc3ce..309fb73f012 100644
--- a/gcc/cgraphunit.c
+++ b/gcc/cgraphunit.c
@@ -1494,7 +1494,9 @@ cgraph_preserve_function_body_p (tree decl)
{
struct cgraph_node *node;
if (!cgraph_global_info_ready)
- return (DECL_INLINE (decl) && !flag_really_no_inline);
+ return (flag_really_no_inline
+ ? lang_hooks.tree_inlining.disregard_inline_limits (decl)
+ : DECL_INLINE (decl));
/* Look if there is any clone around. */
for (node = cgraph_node (decl); node; node = node->next_clone)
if (node->global.inlined_to)