This fixes the g++ pr45940-4 failure. I think it is due to the latest merge.

Tested on i686. (I cannot test it yet on x86-64, I hope to get access to a 64 bit soon...)

Patrick.

2011-10-31  Patrick Marlier  <patrick.marl...@gmail.com>
        * ipa-inline.c: Adjust how cannot_inline is set.

Index: ipa-inline.c
===================================================================
--- ipa-inline.c        (revision 180705)
+++ ipa-inline.c        (working copy)
@@ -285,14 +285,14 @@
       inlinable = false;
     }
   /* TM pure functions should not get inlined if the outer function is
-     a TM safe function.  */
+     a TM safe function. ??? TM pure function could be inlined if waiver block
+     is implemented. */
   else if (flag_tm
           && is_tm_pure (callee->decl)
           && is_tm_safe (e->caller->decl))
     {
       e->inline_failed = CIF_UNSPECIFIED;
-      gimple_call_set_cannot_inline (e->call_stmt, true);
-      return false;
+      inlinable = false;
     }
   /* Don't inline if the callee can throw non-call exceptions but the
      caller cannot.

Reply via email to