Browse Source

no message

florian 20 years ago
parent
commit
b5a7ab65d3
1 changed files with 61 additions and 0 deletions
  1. 61 0
      tests/webtbs/tw3360.pp

+ 61 - 0
tests/webtbs/tw3360.pp

@@ -0,0 +1,61 @@
+{ Source provided for Free Pascal Bug Report 3360 }
+{ Submitted by "Thomas Schatzl" on  2004-10-17 }
+{ e-mail:  }
+type
+	tdef = record
+	  f1 : longint;
+	  f2 : longint;
+	end;
+	
+	fileof = file of byte;
+	
+	enum = (a,b,c,d=10);
+	
+	tset1 = set of enum;
+	tset2 = set of byte;
+	
+	ttdef = type tdef;
+	tfile = type file;
+	ttext = type text;
+	tfileof = type fileof;
+	tvariant = type variant;
+	//!! tinterfacedobject2 = type tinterfacedobject;
+	tenum = type enum;
+	ttset1 = type tset1;
+	ttset2 = type tset2;
+	
+var
+  e1 : enum;
+  e2 : tenum;
+  def1 : tdef;
+  def2 : ttdef;
+  
+begin
+  { enums }
+  e1:=a;
+  e2:=a;
+  e1:=d;
+  e2:=d;
+  
+  { sets }
+  if ord(e1)<>ord(e2) then
+    halt(1);
+  if sizeof(tset1)<>sizeof(ttset1) then
+    halt(2);
+  if sizeof(tset2)<>sizeof(ttset2) then
+    halt(3);
+    
+  { records }
+  def1.f1:=$deadbeef;
+  def1.f2:=$d0d0d0d0;
+  if sizeof(def1)<>sizeof(def2) then
+    halt(4);
+    
+  move(def1,def2,sizeof(def1));
+  
+  if (def1.f1<>def2.f1) or
+    (def1.f2<>def2.f2) then
+    halt(5);
+  
+  writeln('ok');
+end.