In cil version 1.3.7, it seems that cabs2cil does not attempt to detect whether a break
statement occurs in a loop/switch body or not (continue is checked
appropriately). This can lead to random errors later, as some functions (e.g. prepareCFG)
rely on the fact that a break statement is correctly enclosed in a loop/switch body.
Attached is a patch against 1.3.7 that will raise an Error if an isolated break occurs.
patch for cabs2cil.ml
Thanks for the patch. Applied in svn.