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
 bug0131.pp   internal error 10 with highdimension arrays
 bug0132.pp   segmentation fault with type loop
 bug0132.pp   segmentation fault with type loop
 bug0133.pp   object type declaration not 100% compatibile with TP7
 bug0133.pp   object type declaration not 100% compatibile with TP7
+bug0134.pp   'continue' keyword is buggy.