diff options
| author | Jacques Garrigue <garrigue at math.nagoya-u.ac.jp> | 2013-12-20 06:55:26 +0000 |
|---|---|---|
| committer | Jacques Garrigue <garrigue at math.nagoya-u.ac.jp> | 2013-12-20 06:55:26 +0000 |
| commit | d90b126bd428999d767ef4db4c5d3b05eb27c345 (patch) | |
| tree | 237a045f93257e65ea8b9276d18e79973b5775f7 /bytecomp | |
| parent | c20af454f38f13d7dd3b417e293335fcc82e479f (diff) | |
| download | ocaml-module-alias.tar.gz | |
Add -trans-mod option for transparent module dependencies.module-alias
Without that option, dependencies are strict, both for
typing and linking.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/module-alias@14382 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Diffstat (limited to 'bytecomp')
| -rw-r--r-- | bytecomp/translobj.ml | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/bytecomp/translobj.ml b/bytecomp/translobj.ml index c6a958cfc3..7f0d8577eb 100644 --- a/bytecomp/translobj.ml +++ b/bytecomp/translobj.ml @@ -93,12 +93,19 @@ let prim_makearray = { prim_name = "caml_make_vect"; prim_arity = 2; prim_alloc = true; prim_native_name = ""; prim_native_float = false } +(* Also use it for required globals *) let transl_label_init expr = let expr = Hashtbl.fold (fun c id expr -> Llet(Alias, id, Lconst c, expr)) consts expr in + let expr = + List.fold_right + (fun id expr -> Lsequence(Lprim(Pgetglobal id, []), expr)) + (Env.get_required_globals ()) expr + in + Env.reset_required_globals (); reset_labels (); expr |
