diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/boot/llvm/lltrans.ml | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/src/boot/llvm/lltrans.ml b/src/boot/llvm/lltrans.ml index 62383ff1..a7daa371 100644 --- a/src/boot/llvm/lltrans.ml +++ b/src/boot/llvm/lltrans.ml @@ -821,17 +821,18 @@ let trans_crate | Ast.STMT_log a -> begin - match Semant.simplified_ty (Semant.atom_type sem_cx a) with - (* NB: If you extend this, be sure to update the - * typechecking code in type.ml as well. *) - Ast.TY_str -> trans_log_str a - | Ast.TY_int | Ast.TY_uint | Ast.TY_bool | Ast.TY_char - | Ast.TY_mach (TY_u8) | Ast.TY_mach (TY_u16) - | Ast.TY_mach (TY_u32) | Ast.TY_mach (TY_i8) - | Ast.TY_mach (TY_i16) | Ast.TY_mach (TY_i32) -> - trans_log_int a - | _ -> Semant.bugi sem_cx head.id - "unimplemented logging type" + let aty = Semant.atom_type sem_cx a in + match Semant.simplified_ty aty with + (* NB: If you extend this, be sure to update the + * typechecking code in type.ml as well. *) + Ast.TY_str -> trans_log_str a + | Ast.TY_int | Ast.TY_uint | Ast.TY_bool | Ast.TY_char + | Ast.TY_mach (TY_u8) | Ast.TY_mach (TY_u16) + | Ast.TY_mach (TY_u32) | Ast.TY_mach (TY_i8) + | Ast.TY_mach (TY_i16) | Ast.TY_mach (TY_i32) -> + trans_log_int a + | _ -> Semant.bugi sem_cx head.id + "unimplemented logging type" end; trans_tail () |