summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changes4
-rw-r--r--driver/makedepend.ml3
2 files changed, 6 insertions, 1 deletions
diff --git a/Changes b/Changes
index 5317a90e6b..4e4c8ad647 100644
--- a/Changes
+++ b/Changes
@@ -148,6 +148,10 @@ Working version
structures and signatures (e.g. "include struct … include(struct … end) … end")
(Florian Angeletti, review by Gabriel Scherer, report by Christophe Raffalli)
+- MPR#7710: `ocamldep -sort` should exit with nonzero code in case of
+ cyclic dependencies
+ (Xavier Leroy, report by Mantis user baileyparker)
+
- GPR#1585: optimize output of "ocamllex -ml"
(Alain Frisch, review by Frédéric Bour and Gabriel Scherer)
diff --git a/driver/makedepend.ml b/driver/makedepend.ml
index 6b888a0ca6..a10f6f6d4b 100644
--- a/driver/makedepend.ml
+++ b/driver/makedepend.ml
@@ -464,7 +464,7 @@ let sort_files_by_dependencies files =
if !worklist <> [] then begin
Format.fprintf Format.err_formatter
- "@[Warning: cycle in dependencies. End of list is not sorted.@]@.";
+ "@[Error: cycle in dependencies. End of list is not sorted.@]@.";
let sorted_deps =
let li = ref [] in
Hashtbl.iter (fun _ file_deps -> li := file_deps :: !li) h;
@@ -478,6 +478,7 @@ let sort_files_by_dependencies files =
) !deps;
Format.fprintf Format.err_formatter "@]@.";
Printf.printf "%s " file) sorted_deps;
+ error_occurred := true
end;
Printf.printf "\n%!";
()