On 12/14/2011 03:41 PM, Dodji Seketeli wrote:
@@ -8041,6 +8041,7 @@ joust (struct z_candidate *cand1, struct z_candidate 
*cand2, bool warn)
      {
        conversion *t1 = cand1->convs[i + off1];
        conversion *t2 = cand2->convs[i + off2];
+      conversion *next_conv = next_conversion (t1);
        int comp = compare_ics (t1, t2);

        if (comp != 0)
@@ -8054,11 +8055,11 @@ joust (struct z_candidate *cand1, struct z_candidate 
*cand2, bool warn)
        &&  TREE_CODE (t2->type) == INTEGER_TYPE
        &&  (TYPE_PRECISION (t1->type)
                  == TYPE_PRECISION (t2->type))
-       &&  (TYPE_UNSIGNED (t1->u.next->type)
-                 || (TREE_CODE (t1->u.next->type)
+       &&  (TYPE_UNSIGNED (next_conv->type)
+                 || (TREE_CODE (next_conv->type)
                      == ENUMERAL_TYPE)))

I don't think we want to hoist that up so far; we're only interested in the next conversion if a lot of other checks pass. Let's just do the mechanical transformation again here. OK with that change.

Jason

Reply via email to