aboutsummaryrefslogtreecommitdiffstats
path: root/cparser/Diagnostics.ml
diff options
context:
space:
mode:
authorBernhard Schommer <bernhardschommer@gmail.com>2018-02-09 09:53:12 +0100
committerBernhard Schommer <bernhardschommer@gmail.com>2018-02-09 09:53:12 +0100
commit857e746959f1eb9d0158073114d5ae0aa1c2fc1f (patch)
tree63e38025de7e855da2e3aec1a5220de03313dd1d /cparser/Diagnostics.ml
parentd8da506981905752f84165f622fdf0ee26011744 (diff)
downloadcompcert-kvx-857e746959f1eb9d0158073114d5ae0aa1c2fc1f.tar.gz
compcert-kvx-857e746959f1eb9d0158073114d5ae0aa1c2fc1f.zip
Added error summary in case of fatal error.
Diffstat (limited to 'cparser/Diagnostics.ml')
-rw-r--r--cparser/Diagnostics.ml10
1 files changed, 10 insertions, 0 deletions
diff --git a/cparser/Diagnostics.ml b/cparser/Diagnostics.ml
index d9b96393..fbdc9297 100644
--- a/cparser/Diagnostics.ml
+++ b/cparser/Diagnostics.ml
@@ -342,14 +342,24 @@ let error loc fmt =
let fatal_error loc fmt =
fatal_error None loc fmt
+let error_summary () =
+ if !num_errors > 0 then begin
+ eprintf "@[<hov 0>%d error%s detected.@]@."
+ !num_errors
+ (if !num_errors = 1 then "" else "s");
+ num_errors := 0;
+ end
+
let check_errors () =
if !num_errors > 0 then begin
eprintf "@[<hov 0>%d error%s detected.@]@."
!num_errors
(if !num_errors = 1 then "" else "s");
+ num_errors := 0;
raise Abort
end
+
let error_option w =
let key = string_of_warning w in
[Exact ("-W"^key), Unit (activate_warning w);