@@ -2720,29 +2720,22 @@ fn trans_compare(cx0: &@block_ctxt, op: ast::binop, t0: &ty::t,
2720
2720
let rhs = rhs_r. val ;
2721
2721
cx = rhs_r. bcx ;
2722
2722
// Determine the operation we need.
2723
- // FIXME: Use or-patterns when we have them.
2724
2723
2725
2724
let llop;
2726
2725
alt op {
2727
- ast : : eq. { llop = C_u8 ( abi:: cmp_glue_op_eq) ; }
2728
- ast:: lt. { llop = C_u8 ( abi:: cmp_glue_op_lt) ; }
2729
- ast:: le. { llop = C_u8 ( abi:: cmp_glue_op_le) ; }
2730
- ast:: ne. { llop = C_u8 ( abi:: cmp_glue_op_eq) ; }
2731
- ast:: ge. { llop = C_u8 ( abi:: cmp_glue_op_lt) ; }
2732
- ast:: gt. { llop = C_u8 ( abi:: cmp_glue_op_le) ; }
2726
+ ast: : eq. | ast:: ne . { llop = C_u8 ( abi:: cmp_glue_op_eq) ; }
2727
+ ast:: lt. | ast:: ge. { llop = C_u8 ( abi:: cmp_glue_op_lt) ; }
2728
+ ast:: le. | ast:: gt. { llop = C_u8 ( abi:: cmp_glue_op_le) ; }
2733
2729
}
2734
2730
let rs = compare ( cx, lhs, rhs, rhs_r. ty , llop) ;
2735
2731
2736
2732
2737
2733
// Invert the result if necessary.
2738
- // FIXME: Use or-patterns when we have them.
2739
2734
alt op {
2740
- ast : : eq. { ret rslt ( rs. bcx , rs. val ) ; }
2741
- ast:: lt. { ret rslt ( rs. bcx , rs. val ) ; }
2742
- ast:: le. { ret rslt ( rs. bcx , rs. val ) ; }
2743
- ast:: ne. { ret rslt ( rs. bcx , rs. bcx . build . Not ( rs. val ) ) ; }
2744
- ast:: ge. { ret rslt ( rs. bcx , rs. bcx . build . Not ( rs. val ) ) ; }
2745
- ast:: gt. { ret rslt ( rs. bcx , rs. bcx . build . Not ( rs. val ) ) ; }
2735
+ ast : : eq. | ast:: lt. | ast:: le. { ret rslt ( rs. bcx , rs. val ) ; }
2736
+ ast:: ne. | ast:: ge. | ast:: gt. {
2737
+ ret rslt ( rs. bcx , rs. bcx . build . Not ( rs. val ) ) ;
2738
+ }
2746
2739
}
2747
2740
}
2748
2741
0 commit comments