It does on my side:

=== g++ Summary ===
# of expected passes 122

I have no other change over the source.

Woah!!!! I hereby profess my love for Richard and Patrick. That didn't sound, right, but whatever... During the weekend they apparently fixed the rest of the bug I've been working on all morning.

Yay!!! With this patch we have ironed out all the C++ regressions.

Thanks and sorry for the duplicate work.

Committing to branch.
        * ipa-inline.c (can_inline_edge_p): Do not inline TM safe calling
        TM pure functions.

Index: ipa-inline.c
===================================================================
--- ipa-inline.c        (revision 180710)
+++ ipa-inline.c        (working copy)
@@ -291,8 +291,7 @@ can_inline_edge_p (struct cgraph_edge *e
           && 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