peter 26 سال پیش
والد
کامیت
7d4b711bdc
2فایلهای تغییر یافته به همراه31 افزوده شده و 0 حذف شده
  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)
 bug0223.pp   wrong boolean evaluation in writeln
 bug0224.pp   I/O-Error generation in readln can't be switched off
+bug0225.pp   Sigsegv when run with range checks on open arrays