From 4a3404803b6c6de079a590a4bc96313d9a68f164 Mon Sep 17 00:00:00 2001 From: Or Brostovski Date: Tue, 31 Aug 2010 06:07:32 +0300 Subject: implemented break for while-loop case ast.ml - added break and cont statements item.ml - added break and cont statements lexer.mll - added break and cont statements token.ml - added break and cont statements trans.ml - implemented the break statement for the while-loop case - replaced hash table accesses with get_stmt_depth where needed type.ml = added break and cont statements typestate.ml - implemented the break statement for the while-loop case - added shorthand filter_live_block_slots walk.ml - added break and cont statements while-with-break.rs - code for testing while loops --- src/test/run-pass/while-with-break.rs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 src/test/run-pass/while-with-break.rs (limited to 'src/test') diff --git a/src/test/run-pass/while-with-break.rs b/src/test/run-pass/while-with-break.rs new file mode 100644 index 00000000..0e27f252 --- /dev/null +++ b/src/test/run-pass/while-with-break.rs @@ -0,0 +1,15 @@ +// -*- rust -*- + +fn main() { + let int i = 90; + while (i < 100) { + log i; + i = i + 1; + if (i == 95) { + let vec[int] v = vec(1,2,3,4,5); // we check that it is freed by break + log "breaking"; + break; + } + } + check(i == 95); +} -- cgit v1.2.3