[][src]Function c2rust_transpile::cfg::loops::match_loop_body

pub fn match_loop_body(
    desired_body: IndexSet<Label>,
    strict_reachable_from: &IndexMap<Label, IndexSet<Label>>,
    body_blocks: &mut IndexMap<Label, BasicBlock<StructureLabel<StmtOrDecl>, StmtOrDecl>>,
    follow_blocks: &mut IndexMap<Label, BasicBlock<StructureLabel<StmtOrDecl>, StmtOrDecl>>,
    follow_entries: &mut IndexSet<Label>
) -> bool

Modifies the body_blocks, follow_blocks, and follow_entries to try to get all of the desired_body labels into the body. If it is not possible to do this, returns false (and the mutable references passed in cannot be used).

Also return false if the loop body ends up having follow blocks pointing into it.