peter 27 years ago
parent
commit
b7a7bfd115
2 changed files with 28 additions and 2 deletions
  1. 27 0
      bugs/bug0183.pp
  2. 1 2
      bugs/readme.txt

+ 27 - 0
bugs/bug0183.pp

@@ -0,0 +1,27 @@
+program Internal_Error_10;
+ 
+type
+  PBug = ^TBug;
+  TBug = array[1..1] of boolean;
+ 
+var
+  Left : PBug;
+  test : longint;
+ 
+begin
+  New(left);
+  test := 1;
+ 
+{ following shows internal error 10 only if the
+ 
+    array index is a var on both sides
+  ( if either is a constant then it compiles fine, error only occurs if the
+    not is in the statement )
+    bug only appears if the array is referred to using a pointer -
+      if using TBug, and no pointers it compiles fine
+      with PBug the error appears
+    }
+ 
+  Left^[test] := not Left^[test];
+end.
+

+ 1 - 2
bugs/readme.txt

@@ -234,5 +234,4 @@ bug0163.pp   missing <= and >= operators for sets.
 bug0169.pp   missing new(type) support for not object/class
 bug0169.pp   missing new(type) support for not object/class
 bug0171.pp   missing typecasting in constant expressions
 bug0171.pp   missing typecasting in constant expressions
 bug0182.pp   @record.field doesn't work in constant expr
 bug0182.pp   @record.field doesn't work in constant expr
-
-
+bug0183.pp   internal error 10