peter 26 years ago
parent
commit
7d4b711bdc
2 changed files with 31 additions and 0 deletions
  1. 30 0
      bugs/bug0225.pp
  2. 1 0
      bugs/readme.txt

+ 30 - 0
bugs/bug0225.pp

@@ -0,0 +1,30 @@
+ program bug0255;
+
+{$mode objfpc}
+
+{$R+}
+
+  function erwwert(const feld: array of LongInt):extended;
+   var i: LongInt;
+   begin
+    Result:=0;
+    for i:=low(feld) to high(feld)
+        do begin
+            writeln(i);  // gives "0"
+            Result:=Result+feld[i];
+           end;          //^^^^^^^ there occurs the segfault (216)
+                         //        on the first loop
+    Result:=Result/(high(feld)-low(feld)+1);
+   end;
+
+ var werte: array[0..299] of LongInt;
+     i: LongInt;
+
+ begin
+  //init the array
+  for i:=0 to 299
+      do werte[i]:=Random(5)-2;
+
+  //and do something with it
+  writeln(erwwert(werte):6:5);
+ end.

+ 1 - 0
bugs/readme.txt

@@ -304,3 +304,4 @@ bug0221.pp   syntax parsing incompatibilities with tp7
 bug0222.pp   an record field can't be the counter index (compiles with TP)
 bug0222.pp   an record field can't be the counter index (compiles with TP)
 bug0223.pp   wrong boolean evaluation in writeln
 bug0223.pp   wrong boolean evaluation in writeln
 bug0224.pp   I/O-Error generation in readln can't be switched off
 bug0224.pp   I/O-Error generation in readln can't be switched off
+bug0225.pp   Sigsegv when run with range checks on open arrays