diff options
Diffstat (limited to 'gcc/c-objc-common.c')
-rw-r--r-- | gcc/c-objc-common.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/c-objc-common.c b/gcc/c-objc-common.c index 6554cf5..b2f9969 100644 --- a/gcc/c-objc-common.c +++ b/gcc/c-objc-common.c @@ -59,6 +59,9 @@ int c_disregard_inline_limits (fn) tree fn; { + if (lookup_attribute ("always_inline", DECL_ATTRIBUTES (fn)) != NULL) + return 1; + return DECL_DECLARED_INLINE_P (fn) && DECL_EXTERNAL (fn); } @@ -142,6 +145,10 @@ c_cannot_inline_tree_fn (fnp) tree fn = *fnp; tree t; + if (optimize == 0 + && lookup_attribute ("always_inline", DECL_ATTRIBUTES (fn)) == NULL) + return 1; + if (! function_attribute_inlinable_p (fn)) { DECL_UNINLINABLE (fn) = 1; |