Browse Source

+ Added bug #134

michael 27 years ago
parent
commit
51fc557848
2 changed files with 32 additions and 0 deletions
  1. 31 0
      bugs/bug0134.pp
  2. 1 0
      bugs/readme.txt

+ 31 - 0
bugs/bug0134.pp

@@ -0,0 +1,31 @@
+{
+In this simple examply, the even loop is wrong.  When continue; is called,
+it should go back to the top and check the loop conditions and exit when i =
+4, but continue skips checking the loop conditions and does i=5 too, then it
+is odd, doesn't run the continue, and the loop terminates properly.
+}
+
+
+procedure demoloop( max:integer );
+var i : integer;
+begin
+i := 1;
+while (i <= max) do
+    begin
+    if (i mod 2 = 0) then
+        begin
+        writeln('Even ',i,' of ',max);
+        inc(i);
+        continue;
+        end;
+    writeln('Odd ',i,' of ',max);
+    inc(i);
+    end;
+end;
+
+begin
+writeln('Odd loop (continue is *not* last call):');
+demoloop(3);
+writeln('Even loop (continue is last call):');
+demoloop(4);
+end.

+ 1 - 0
bugs/readme.txt

@@ -180,3 +180,4 @@ bug0130.pp   in [..#255] problem
 bug0131.pp   internal error 10 with highdimension arrays
 bug0132.pp   segmentation fault with type loop
 bug0133.pp   object type declaration not 100% compatibile with TP7
+bug0134.pp   'continue' keyword is buggy.