summaryrefslogtreecommitdiff
path: root/gcc/c-objc-common.c
diff options
context:
space:
mode:
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2007-08-24 09:44:04 +0000
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2007-08-24 09:44:04 +0000
commit7cc6d7a886ef8b0ed5f3a4fbeb21f4fe5b9e64b0 (patch)
tree5270dcc8ebfd36c501d57a40ccebba1e3b65b19e /gcc/c-objc-common.c
parent85a32bdbf393185ef376c2bd4c797515df2609cb (diff)
downloadgcc-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.c45
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