]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR middle-end/25446 (-fpic/-fPIC failure in gcc.dg/vect/vect-ifcvt-9.c)
authorNathan Froyd <froydnj@codesourcery.com>
Thu, 2 Aug 2007 14:42:53 +0000 (14:42 +0000)
committerNathan Froyd <froydnj@gcc.gnu.org>
Thu, 2 Aug 2007 14:42:53 +0000 (14:42 +0000)
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

gcc/ChangeLog
gcc/c-objc-common.c

index e712c821949e94afeeffef9db07e4b5bb322f928..95106b1cae12e5b15e1e9aada78198e97a74a673 100644 (file)
@@ -1,3 +1,9 @@
+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
index 226872e897e07b2b010a0416b7fe076939091802..9999840800adef6d4e93c6b85022ab994d8265f9 100644 (file)
@@ -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 "