@@ -37,7 +37,7 @@ let make_switch n selector caselist =
37
37
let index = Array. make n 0 in
38
38
let casev = Array. of_list caselist in
39
39
let dbg = Debuginfo. none in
40
- let actv = Array. make (Array. length casev) (Cexit (Cmm. Lbl 0 , [] ,[] ), dbg) in
40
+ let actv = Array. make (Array. length casev) (Cexit (0 ,[] ), dbg) in
41
41
for i = 0 to Array. length casev - 1 do
42
42
let (posl, e) = casev.(i) in
43
43
List. iter (fun pos -> index.(pos) < - i) posl;
@@ -206,9 +206,6 @@ componentlist:
206
206
component { [$ 1 ] }
207
207
| componentlist STAR component { $ 3 :: $ 1 }
208
208
;
209
- traps:
210
- LPAREN INTCONST RPAREN { List. init $ 2 (fun _ -> Pop ) }
211
- | /**/ { [] }
212
209
expr:
213
210
INTCONST { Cconst_int ($ 1 , debuginfo () ) }
214
211
| FLOATCONST { Cconst_float (float_of_string $ 1 , debuginfo () ) }
@@ -221,7 +218,7 @@ expr:
221
218
| LPAREN APPLY location expr exprlist machtype RPAREN
222
219
{ Cop (Capply $ 6 , $ 4 :: List. rev $ 5 , debuginfo ?loc:$3 ( )) }
223
220
| LPAREN EXTCALL STRING exprlist machtype RPAREN
224
- {Cop (Cextcall ($ 3 , $ 5 , false , None ), List. rev $ 4 , debuginfo () )}
221
+ {Cop (Cextcall ($ 3 , $ 5 , [] , false ), List. rev $ 4 , debuginfo () )}
225
222
| LPAREN ALLOC exprlist RPAREN { Cop (Calloc , List. rev $ 3 , debuginfo () ) }
226
223
| LPAREN SUBF expr RPAREN { Cop (Cnegf , [$ 3 ], debuginfo () ) }
227
224
| LPAREN SUBF expr expr RPAREN { Cop (Csubf , [$ 3 ; $ 4 ], debuginfo () ) }
@@ -239,22 +236,22 @@ expr:
239
236
match $ 3 with
240
237
Cconst_int (x, _) when x <> 0 -> $ 4
241
238
| _ -> Cifthenelse ($ 3 , debuginfo () , $ 4 , debuginfo () ,
242
- (Cexit (Cmm. Lbl lbl0, [] ,[] )),
239
+ (Cexit (lbl0,[] )),
243
240
debuginfo () ) in
244
241
Ccatch (Nonrecursive , [lbl0, [], Ctuple [], debuginfo () ],
245
242
Ccatch (Recursive ,
246
- [lbl1, [], Csequence (body, Cexit (Cmm. Lbl lbl1, [] , [] )), debuginfo () ],
247
- Cexit (Cmm. Lbl lbl1, [] , [] ))) }
248
- | LPAREN EXIT traps IDENT exprlist RPAREN
249
- { Cexit (Cmm. Lbl ( find_label $ 4 ) , List. rev $ 5 , $ 3 ) }
243
+ [lbl1, [], Csequence (body, Cexit (lbl1, [] )), debuginfo () ],
244
+ Cexit (lbl1, [] ))) }
245
+ | LPAREN EXIT IDENT exprlist RPAREN
246
+ { Cexit (find_label $ 3 , List. rev $ 4 ) }
250
247
| LPAREN CATCH sequence WITH catch_handlers RPAREN
251
248
{ let handlers = $ 5 in
252
249
List. iter (fun (_ , l , _ , _ ) ->
253
250
List. iter (fun (x , _ ) -> unbind_ident x) l) handlers;
254
251
Ccatch (Recursive , handlers, $ 3 ) }
255
- | EXIT { Cexit (Cmm. Lbl 0 , [] ,[] ) }
252
+ | EXIT { Cexit (0 ,[] ) }
256
253
| LPAREN TRY sequence WITH bind_ident sequence RPAREN
257
- { unbind_ident $ 5 ; Ctrywith ($ 3 , Regular , $ 5 , $ 6 , debuginfo () ) }
254
+ { unbind_ident $ 5 ; Ctrywith ($ 3 , $ 5 , $ 6 , debuginfo () ) }
258
255
| LPAREN VAL expr expr RPAREN
259
256
{ let open Asttypes in
260
257
Cop (Cload (Word_val , Mutable ), [access_array $ 3 $ 4 Arch. size_addr],
0 commit comments