Ho hum, more patches on our way to mergeability.

This seems to be more fallout from the last merge. There's an apparent discrepancy between what we think is valid gimple in ipa_tm_insert_gettmclone_call() and what verify_gimple_call() believes is true.
This, along with other patches I have queued up, fixes more regressions 
in g++.dg/tm/.
Committed to branch.
        * trans-mem.c (ipa_tm_insert_gettmclone_call): Use gimple_call_fntype
        to get function return type.

Index: trans-mem.c
===================================================================
--- trans-mem.c (revision 180581)
+++ trans-mem.c (working copy)
@@ -4300,11 +4300,11 @@ ipa_tm_insert_gettmclone_call (struct cg
 
   gimple_call_set_fn (stmt, callfn);
 
-  /* Discard OBJ_TYPE_REF above, may produce incompatible LHS and RHS
+  /* Discarding OBJ_TYPE_REF above may produce incompatible LHS and RHS
      for a call statement.  Fix it.  */
   {
     tree lhs = gimple_call_lhs (stmt);
-    tree rettype =  TREE_TYPE (TREE_TYPE (TREE_TYPE (callfn)));
+    tree rettype = TREE_TYPE (gimple_call_fntype (stmt));
     if (lhs
        && !useless_type_conversion_p (TREE_TYPE (lhs), rettype))
     {

Reply via email to