Browse Source

*** empty log message ***

pierre 26 years ago
parent
commit
9f6b250318
3 changed files with 48 additions and 3 deletions
  1. 15 1
      bugs/bug0215.pp
  2. 28 0
      bugs/bug0216.pp
  3. 5 2
      bugs/readme.txt

+ 15 - 1
bugs/bug0215.pp

@@ -4,6 +4,10 @@
 
 Program X;
 
+{$ifdef go32v2}
+  uses dpmiexcp;
+{$endif go32v2}
+
 Type
    PY=^Y;
    Y=Object
@@ -19,6 +23,7 @@ Constructor Y.Init(NewA:LongInt);
       A:=NewA;
       P:=@self;
    End;
+
 Procedure Y.StaticMethod;
    Begin
       Writeln(P^.A);    // Compiler complains about using A.
@@ -31,8 +36,17 @@ Procedure Y.StaticMethod;
                         // new snapshot.
 Procedure Y.VirtualMethod;
    Begin
-      Writeln('VirtualMethod');
+      Writeln('VirtualMethod ',A);
    End;
 
+var T1,T2 :  PY;
+
 Begin
+  New(T1,init(1));
+  New(T2,init(2));
+  T1^.VirtualMethod;
+  T2^.VirtualMethod;
+  Y.StaticMethod;
+  T1^.StaticMethod;
+  T2^.StaticMethod;
 End.

+ 28 - 0
bugs/bug0216.pp

@@ -0,0 +1,28 @@
+type rec = record
+         a : Longint;
+         b : Longint;
+         c : Longint;
+         d : record
+           e : Longint;
+           f : Word;
+         end;
+         g : Longint;
+     end;
+
+const r : rec = (
+        a : 100; b : 200; c : 300; d : (e : 20; f : 30); g : 10);
+
+
+begin
+     with r do begin
+          Writeln('A : ', a);
+          Writeln('B : ', b);
+          Writeln('C : ', c);
+          Writeln('D');
+          with d do begin
+               Writeln('E : ', e);
+               Writeln('F : ', f);
+          end;
+          Writeln('G : ', g);
+     end;
+end.

+ 5 - 2
bugs/readme.txt

@@ -209,6 +209,8 @@ Fixed bugs:
   bug0172.pp   with with absolute seg:ofs should not be possible OK 0.99.9 (PM)
   bug0173.pp   secondbug is parsed as asm, but should be normal pascalcode OK 0.99.9 (PFV)
   bug0174.pp   Asm, offsets of fields are not possible yet           OK 0.99.9 (PFV)
+  bug0175.pp   Asm, mov word,%eax should not be allowed without casting
+               emits a warning (or error with range checking enabled)  OK 0.99.11 (PM)
   bug0176.pp   unit.symbol not allowed for implementation vars         OK 0.99.9 (PM)
   bug0177.pp   program.symbol not allowed (almost the same as bug 176) OK 0.99.9 (PM)
   bug0178.pp   problems with undefined labels and fail outside constructor OK 0.99.9 (PM)
@@ -253,6 +255,9 @@ Fixed bugs:
   bug0213.pp   name mangling problem with nested procedures in overloaded
                procedure                                            OK 0.99.11 (PM)
   bug0214.pp   bug for static methods                               OK 0.99.11 (PM)
+  bug0215.pp   more bugs with static methods                        OK 0.99.11 (PM)
+  bug0216.pp   problem with with fields as function args            OK 0.99.11 (PM)
+
 
 Unproducable bugs:
 ------------------
@@ -278,7 +283,6 @@ Unfixed bugs:
 -------------
 bug0123.pp   Asm, problem with intel assembler (shrd)
 bug0124.pp   Asm, problem with -Rintel switch and indexing (whatever the order)
-bug0175.pp   Asm, mov word,%eax should not be allowed without casting
 
 bug0185.pp   missing range checking for Val and subrange types
 bug0198.pp   calling specifications aren't allowed in class declarations,
@@ -288,4 +292,3 @@ bug0201.pp   problem with record var-parameters and assembler
 bug0202.pp   flag results not supported with case
 bug0206.pp   sets with variable ranges doesn't work
 bug0212.pp   problem with properties
-bug0215.pp   more bugs with static methods