From debbae89f9faf47b95bd1c86058cd232783f3c3f Mon Sep 17 00:00:00 2001 From: Bernhard Schommer Date: Thu, 4 Jul 2019 12:59:33 +0200 Subject: 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. --- cparser/Cutil.mli | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'cparser/Cutil.mli') diff --git a/cparser/Cutil.mli b/cparser/Cutil.mli index 3777c321..f6c4627d 100644 --- a/cparser/Cutil.mli +++ b/cparser/Cutil.mli @@ -167,7 +167,7 @@ val is_scalar_type : Env.t -> typ -> bool val is_composite_type : Env.t -> typ -> bool (* Is type a struct or union? *) val is_array_type : Env.t -> typ -> bool - (* Is type a array type? *) + (* Is type an array type? *) val is_function_type : Env.t -> typ -> bool (* Is type a function type? (not pointer to function) *) val is_function_pointer_type : Env.t -> typ -> bool -- cgit