From f9b82ff1cf034f1a85a84c53a8dfc2efaa2b0913 Mon Sep 17 00:00:00 2001 From: herbelin Date: Wed, 24 Jan 2007 08:42:08 +0000 Subject: Correction bug #1333 (test non récursivité des dépendances en d'autres "library" lors de la construction d'une "library" -- i.e. d'un .vo) git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9524 85f007b7-540e-0410-9357-904b9bb8a0f7 --- library/library.ml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/library/library.ml b/library/library.ml index 5cd69bc02d..7e93db65e4 100644 --- a/library/library.ml +++ b/library/library.ml @@ -591,6 +591,12 @@ let current_deps () = let current_reexports () = List.map (fun m -> m.library_name) !libraries_exports_list +let error_recursively_dependent_library dir = + errorlabstrm "" + (str "Unable to use logical name" ++ spc() ++ pr_dirpath dir ++ spc() ++ + str "to save current library" ++ spc() ++ str"because" ++ spc() ++ + str "it already depends on a library of this name.") + let save_library_to dir f = let cenv, seg = Declaremods.end_library dir in let md = { @@ -599,6 +605,8 @@ let save_library_to dir f = md_objects = seg; md_deps = current_deps (); md_imports = current_reexports () } in + if List.mem_assoc dir md.md_deps then + error_recursively_dependent_library dir; let (f',ch) = raw_extern_library f in try System.marshal_out ch md; -- cgit v1.2.3