diff --git a/src/back/msl/writer.rs b/src/back/msl/writer.rs index 76861c38c1..75f814b208 100644 --- a/src/back/msl/writer.rs +++ b/src/back/msl/writer.rs @@ -699,10 +699,10 @@ impl Writer { writeln!(self.out, "{}bool {} = true;", level, gate_name)?; writeln!(self.out, "{}while(true) {{", level)?; let lif = level.next(); - writeln!(self.out, "{}if (!loop_init) {{", lif)?; + writeln!(self.out, "{}if (!{}) {{", lif, gate_name)?; self.put_block(lif.next(), continuing, context, return_value)?; writeln!(self.out, "{}}}", lif)?; - writeln!(self.out, "{}loop_init = false;", lif)?; + writeln!(self.out, "{}{} = false;", lif, gate_name)?; } else { writeln!(self.out, "{}while(true) {{", level)?; }