@@ -5648,6 +5648,14 @@ fn trans_log(int lvl, &@block_ctxt cx, &@ast::expr e) -> result {
5648
5648
log_bcx. build. Call ( log_bcx. fcx. lcx. ccx. upcalls. log_double,
5649
5649
[ log_bcx. fcx. lltaskptr, C_int ( lvl) , tmp] ) ;
5650
5650
}
5651
+ } else if ( ty:: type_is_integral( cx. fcx. lcx. ccx. tcx, e_ty) ||
5652
+ ty:: type_is_bool( cx. fcx. lcx. ccx. tcx, e_ty) ) {
5653
+ // FIXME: Handle signedness properly.
5654
+ auto llintval = int_cast( log_bcx, T_int ( ) , val_ty( sub. val) ,
5655
+ sub. val, false ) ;
5656
+ log_bcx. build. Call ( log_bcx. fcx. lcx. ccx. upcalls. log_int,
5657
+ [ log_bcx. fcx. lltaskptr, C_int ( lvl) ,
5658
+ llintval] ) ;
5651
5659
} else {
5652
5660
alt ( ty:: struct( cx. fcx. lcx. ccx. tcx, e_ty) ) {
5653
5661
case ( ty:: ty_str) {
@@ -5656,12 +5664,11 @@ fn trans_log(int lvl, &@block_ctxt cx, &@ast::expr e) -> result {
5656
5664
sub. val] ) ;
5657
5665
}
5658
5666
case ( _) {
5659
- // FIXME: Handle signedness properly.
5660
- auto llintval = int_cast( log_bcx, T_int ( ) , val_ty( sub. val) ,
5661
- sub. val, false ) ;
5662
- log_bcx. build. Call ( log_bcx. fcx. lcx. ccx. upcalls. log_int,
5663
- [ log_bcx. fcx. lltaskptr, C_int ( lvl) ,
5664
- llintval] ) ;
5667
+ // FIXME: Support these types.
5668
+ cx. fcx. lcx. ccx. sess. span_err( e. span,
5669
+ "log called on unsupported type " +
5670
+ ty:: ty_to_str( cx. fcx. lcx. ccx. tcx, e_ty) ) ;
5671
+ fail;
5665
5672
}
5666
5673
}
5667
5674
}
0 commit comments