diff options
Diffstat (limited to 'asmcomp/compilenv.ml')
-rw-r--r-- | asmcomp/compilenv.ml | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/asmcomp/compilenv.ml b/asmcomp/compilenv.ml index 21833342f..351bed8ac 100644 --- a/asmcomp/compilenv.ml +++ b/asmcomp/compilenv.ml @@ -43,6 +43,7 @@ type unit_infos = mutable ui_approx: value_approximation; (* Approx of the structure *) mutable ui_curry_fun: int list; (* Currying functions needed *) mutable ui_apply_fun: int list; (* Apply functions needed *) + mutable ui_send_fun: int list; (* Send functions needed *) mutable ui_force_link: bool } (* Always linked *) (* Each .a library has a matching .cmxa file that provides the following @@ -64,6 +65,7 @@ let current_unit = ui_approx = Value_unknown; ui_curry_fun = []; ui_apply_fun = []; + ui_send_fun = []; ui_force_link = false } let reset name = @@ -74,6 +76,7 @@ let reset name = current_unit.ui_imports_cmx <- []; current_unit.ui_curry_fun <- []; current_unit.ui_apply_fun <- []; + current_unit.ui_send_fun <- []; current_unit.ui_force_link <- false let current_unit_name () = @@ -146,6 +149,10 @@ let need_apply_fun n = if not (List.mem n current_unit.ui_apply_fun) then current_unit.ui_apply_fun <- n :: current_unit.ui_apply_fun +let need_send_fun n = + if not (List.mem n current_unit.ui_send_fun) then + current_unit.ui_send_fun <- n :: current_unit.ui_send_fun + (* Write the description of the current unit *) let write_unit_info info filename = |