aboutsummaryrefslogtreecommitdiffstats
path: root/cparser
diff options
context:
space:
mode:
authorBernhard Schommer <bernhardschommer@gmail.com>2020-03-30 19:25:49 +0200
committerXavier Leroy <xavierleroy@users.noreply.github.com>2020-04-20 09:37:39 +0200
commit202c96018bf086dd6941bc2483aec0e77d3128ad (patch)
tree06c04abc9d6e2ea28593f021278c8f92be42099d /cparser
parent99c97f7267a803bf92011857f5edbc8597e6b8da (diff)
downloadcompcert-kvx-202c96018bf086dd6941bc2483aec0e77d3128ad.tar.gz
compcert-kvx-202c96018bf086dd6941bc2483aec0e77d3128ad.zip
Check for errors after each pass.
Diffstat (limited to 'cparser')
-rw-r--r--cparser/Parse.ml9
1 files changed, 8 insertions, 1 deletions
diff --git a/cparser/Parse.ml b/cparser/Parse.ml
index 29245083..d9f9aa1c 100644
--- a/cparser/Parse.ml
+++ b/cparser/Parse.ml
@@ -18,7 +18,14 @@
module CharSet = Set.Make(struct type t = char let compare = compare end)
let transform_program t p name =
- let run_pass pass flag p = if CharSet.mem flag t then pass p else p in
+ let run_pass pass flag p =
+ if CharSet.mem flag t then begin
+ let p = pass p in
+ Diagnostics.check_errors ();
+ p
+ end else
+ p
+ in
let p1 = (run_pass StructPassing.program 's'
(run_pass PackedStructs.program 'p'
(run_pass Unblock.program 'b'