Browse Source

+ secondderef()

carl 24 years ago
parent
commit
d93055b1af
1 changed files with 64 additions and 0 deletions
  1. 64 0
      tests/test/cg/tderef.pp

+ 64 - 0
tests/test/cg/tderef.pp

@@ -0,0 +1,64 @@
+{****************************************************************}
+{  CODE GENERATOR TEST PROGRAM                                   }
+{****************************************************************}
+{ NODE TESTED : secondderef()                                    }
+{****************************************************************}
+{ PRE-REQUISITES: secondload()                                   }
+{                 secondassign()                                 }
+{                 secondcalln()                                  }
+{                 secondadd()                                    }
+{                 secondtypeconv()                               }
+{****************************************************************}
+{ DEFINES:                                                       }
+{****************************************************************}
+{ REMARKS:                                                       }
+{****************************************************************}
+program tderef;
+
+type
+  plongint = ^longint;
+  ttestarray = array[1..64] of byte;
+  ptestarray = ^ttestarray;
+  pbyte = ^byte;
+
+
+
+
+var
+ pl : plongint;
+ parray : ptestarray;
+ passed : boolean;
+ ptr : pbyte;
+ b: byte;
+Begin
+ Write('secondderef() test...');
+ passed := true;
+ new(pl);
+ new(parray);
+ { left : LOC_REFERENCE }
+ pl^:= $F0F0;
+ if pl^ <> $F0F0 then
+   passed := false;
+ FillChar(parray^,sizeof(ttestarray),0);
+ ptr:=pbyte((longint(parray)+32));
+ ptr^ := $A0;
+ if parray^[33] <> $A0 then
+   passed := false;
+ { left : LOC_REGISTER }
+ b:=(pbyte((longint(parray)+32))^);
+ if b <> $A0 then
+  passed := false;
+ dispose(pl);
+ dispose(parray);
+ if passed then
+   WriteLn('Success.')
+ else
+   WriteLn('Failure.');
+end.
+
+{
+   $Log$
+   Revision 1.1  2001-06-30 02:02:06  carl
+   + secondderef()
+
+}