diff options
author | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-08-24 09:44:04 +0000 |
---|---|---|
committer | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-08-24 09:44:04 +0000 |
commit | 7cc6d7a886ef8b0ed5f3a4fbeb21f4fe5b9e64b0 (patch) | |
tree | 5270dcc8ebfd36c501d57a40ccebba1e3b65b19e /gcc/c-objc-common.c | |
parent | 85a32bdbf393185ef376c2bd4c797515df2609cb (diff) | |
download | gcc-7cc6d7a886ef8b0ed5f3a4fbeb21f4fe5b9e64b0.tar.gz |
2007-08-24 Richard Guenther <rguenther@suse.de>
* Makefile.in (tree-inline.o): Add $(TARGET_H) and $(INTEGRATE_H)
dependencies.
* c-objc-common.c (c_cannot_inline_tree_fn): Remove.
* langhooks.c (lhd_tree_inlining_cannot_inline_tree_fn): Likewise.
* tree-inline.c (inlinable_function_p): Fold in common parts of
the cannot_inline_tree_fn langhook.
* langhooks-def.h (lhd_tree_inlining_cannot_inline_tree_fn): Remove.
(LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN): Likewise.
(LANG_HOOKS_TREE_INLINING_INITIALIZER): Remove initializer for
cannot_inline_tree_fn langhook.
* langhooks.h (struct lang_hooks_for_tree_inlining): Remove
cannot_inline_tree_fn member.
cp/
* tree.c (cp_cannot_inline_tree_fn): Remove.
* cp-tree.h (cp_cannot_inline_tree_fn): Likewise.
* cp-objcp-common.h (LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN):
Remove define.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127763 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/c-objc-common.c')
-rw-r--r-- | gcc/c-objc-common.c | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/gcc/c-objc-common.c b/gcc/c-objc-common.c index efd576fd5be..746e1196923 100644 --- a/gcc/c-objc-common.c +++ b/gcc/c-objc-common.c @@ -50,51 +50,6 @@ c_missing_noreturn_ok_p (tree decl) return flag_hosted && MAIN_NAME_P (DECL_ASSEMBLER_NAME (decl)); } -int -c_cannot_inline_tree_fn (tree *fnp) -{ - tree fn = *fnp; - bool do_warning = (warn_inline - && DECL_INLINE (fn) - && DECL_DECLARED_INLINE_P (fn) - && !DECL_IN_SYSTEM_HEADER (fn)); - tree always_inline = lookup_attribute ("always_inline", DECL_ATTRIBUTES (fn)); - - if (flag_really_no_inline && always_inline == NULL) - { - if (do_warning) - warning (OPT_Winline, "function %q+F can never be inlined because it " - "is suppressed using -fno-inline", fn); - goto cannot_inline; - } - - /* Don't auto-inline anything that might not be bound within - this unit of translation. */ - if (always_inline == NULL - && !DECL_DECLARED_INLINE_P (fn) - && !targetm.binds_local_p (fn)) - { - if (do_warning) - warning (OPT_Winline, "function %q+F can never be inlined because it " - "might not be bound within this unit of translation", fn); - goto cannot_inline; - } - - if (!function_attribute_inlinable_p (fn)) - { - if (do_warning) - warning (OPT_Winline, "function %q+F can never be inlined because it " - "uses attributes conflicting with inlining", fn); - goto cannot_inline; - } - - return 0; - - cannot_inline: - DECL_UNINLINABLE (fn) = 1; - return 1; -} - /* Called from check_global_declarations. */ bool |