diff options
author | Bernhard Schommer <bernhardschommer@gmail.com> | 2019-07-04 12:59:33 +0200 |
---|---|---|
committer | Bernhard Schommer <bernhardschommer@gmail.com> | 2019-07-04 12:59:33 +0200 |
commit | debbae89f9faf47b95bd1c86058cd232783f3c3f (patch) | |
tree | c98aa4f51c5e80f5f01e74ffe07958d4632667f6 /cparser/Checks.mli | |
parent | ed2318e287c6edeeceed7e2a104195b08aa3e31a (diff) | |
download | compcert-kvx-debbae89f9faf47b95bd1c86058cd232783f3c3f.tar.gz compcert-kvx-debbae89f9faf47b95bd1c86058cd232783f3c3f.zip |
Added new diagnostic for non-linear conditionals
The new diagnostics is triggered if a conditional is used that
may not be transformed into linear code by the later by the
if conversion.
The new diagnostic is emitted if a conditional may contain an
unsafe expression or is contained within another conditional,
logical and or logical or expression. An expression is unsafe if
it contains a call, changes memory or if its evaluation leads to
undefined behavior, for example division and modulo.
Also fixes a small typo in a comment in Cutil.
Diffstat (limited to 'cparser/Checks.mli')
-rw-r--r-- | cparser/Checks.mli | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/cparser/Checks.mli b/cparser/Checks.mli index 4d61a5b8..cfd7b04d 100644 --- a/cparser/Checks.mli +++ b/cparser/Checks.mli @@ -16,3 +16,5 @@ val unknown_attrs_program: C.program -> unit val unused_variables: C.program -> unit + +val non_linear_conditional : C.program -> unit |