aboutsummaryrefslogtreecommitdiff
path: root/lib/errors.ml
diff options
context:
space:
mode:
authorThomas Sibut-Pinote2015-06-23 14:49:01 +0200
committerPierre Boutillier2015-06-23 18:21:33 +0200
commit4444768d3f4f9c4fcdd440f7ab902886bd8e2b09 (patch)
treeec32a18ad10f2afcfbe34801873ac7d74c6f2257 /lib/errors.ml
parent19fed6f504eb8450dee34faa8e84a6d4071131dc (diff)
Moved fatal_error from Coqtop to Errors and corrected dependencies accordingly.
This allows fatal_error to be used for printing anomalies at loading time.
Diffstat (limited to 'lib/errors.ml')
-rw-r--r--lib/errors.ml10
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/errors.ml b/lib/errors.ml
index c60442654a..c1d224dfcd 100644
--- a/lib/errors.ml
+++ b/lib/errors.ml
@@ -129,3 +129,13 @@ let handled e =
let bottom _ = raise Bottom in
try let _ = print_gen bottom !handle_stack e in true
with Bottom -> false
+
+(** Prints info which is either an error or
+ an anomaly and then exits with the appropriate
+ error code *)
+
+let fatal_error info anomaly =
+ let msg = info ++ fnl () in
+ pp_with ~pp_tag:Ppstyle.pp_tag !Pp_control.err_ft msg;
+ flush_all ();
+ exit (if anomaly then 129 else 1)