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