blob: 0f5ec6a45eb12487382a2930550771df5eca0a42 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
(* TEST
include tool-ocaml-lib;
flags = "-w -a";
ocaml_script_as_argument = "true";
setup-ocaml-build-env;
ocaml;
*)
open Lib;;
type t =
| A of int
| B of int
| C of int
;;
match B 0 with
| A _ -> raise Not_found
| B _ -> ()
| _ -> raise Not_found
;;
(**
0 CONSTINT 42
2 PUSHACC0
3 MAKEBLOCK1 0
5 POP 1
7 SETGLOBAL Lib
9 GETGLOBAL <1>(0)
11 PUSHACC0
12 SWITCH
tag 0 -> 17
tag 1 -> 22
tag 2 -> 25
17 GETGLOBAL Not_found
19 MAKEBLOCK1 0
21 RAISE
22 CONST0
23 BRANCH 30
25 GETGLOBAL Not_found
27 MAKEBLOCK1 0
29 RAISE
30 POP 1
32 ATOM0
33 SETGLOBAL T141-switch-6
35 STOP
**)
|