Skip to content

Commit

Permalink
Ne pas utiliser translate pour compiler le matching avec des entiers …
Browse files Browse the repository at this point in the history
…< 0 ou

> 255.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@700 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
  • Loading branch information
frouaix committed Mar 15, 1996
1 parent 0f413cc commit ef2c58c
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions bytecomp/matching.ml
Expand Up @@ -209,8 +209,12 @@ let combine_constant arg cst (const_lambda_list, total1) (lambda2, total2) =
let lambda1 =
match cst with
Const_int _ ->
make_translated_switch arg
(List.map (fun (Const_int n, l) -> (n, l)) const_lambda_list)
let caselist =
List.map (fun (Const_int n, l) -> (n, l)) const_lambda_list in
if List.for_all (fun (n, l) -> n >= 0 & n <= 0xFF) caselist then
make_translated_switch arg caselist
else
make_test_sequence (Pintcomp Ceq) arg const_lambda_list
| Const_char _ ->
make_translated_switch arg
(List.map (fun (Const_char c, l) -> (Char.code c, l))
Expand Down

0 comments on commit ef2c58c

Please sign in to comment.