diff options
author | Nathan Froyd <froydnj@codesourcery.com> | 2007-08-02 14:42:53 +0000 |
---|---|---|
committer | Nathan Froyd <froydnj@gcc.gnu.org> | 2007-08-02 14:42:53 +0000 |
commit | 50926624ca06e49e824729da94a176281733fb74 (patch) | |
tree | 330cb2f1673bfac2868767a778633e959dbcb9b1 /gcc/c-objc-common.c | |
parent | d236f595e8fac9678388240b04c1ae25082f1d2a (diff) | |
download | gcc-50926624ca06e49e824729da94a176281733fb74.zip gcc-50926624ca06e49e824729da94a176281733fb74.tar.gz gcc-50926624ca06e49e824729da94a176281733fb74.tar.bz2 |
re PR middle-end/25446 (-fpic/-fPIC failure in gcc.dg/vect/vect-ifcvt-9.c)
PR middle-end/25446
* c-objc-common.c (c_cannot_inline_tree_fn): Check for an
always_inline attribute on the function decl.
From-SVN: r127163
Diffstat (limited to 'gcc/c-objc-common.c')
-rw-r--r-- | gcc/c-objc-common.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/gcc/c-objc-common.c b/gcc/c-objc-common.c index 226872e..9999840 100644 --- a/gcc/c-objc-common.c +++ b/gcc/c-objc-common.c @@ -72,9 +72,9 @@ c_cannot_inline_tree_fn (tree *fnp) && 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 - && lookup_attribute ("always_inline", DECL_ATTRIBUTES (fn)) == NULL) + if (flag_really_no_inline && always_inline == NULL) { if (do_warning) warning (OPT_Winline, "function %q+F can never be inlined because it " @@ -84,7 +84,9 @@ c_cannot_inline_tree_fn (tree *fnp) /* Don't auto-inline anything that might not be bound within this unit of translation. */ - if (!DECL_DECLARED_INLINE_P (fn) && !targetm.binds_local_p (fn)) + 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 " |