+2007-08-02 Nathan Froyd <froydnj@codesourcery.com>
+
+ PR middle-end/25446
+ * c-objc-common.c (c_cannot_inline_tree_fn): Check for an
+ always_inline attribute on the function decl.
+
2007-08-02 Nathan Froyd <froydnj@codesourcery.com>
PR middle-end/25445
&& 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 "
/* 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 "