@@ -0,0 +1,36 @@
+{ %fail }
+
+{$ifdef fpc}{$MODE delphi}{$endif}
+type
+ TA = class(TInterfacedObject)
+ public
+ constructor Create;
+ end;
+ TB = class(TA)
+ function Clone: TB;
+constructor TA.Create;
+begin
+ inherited Create;
+end;
+function TB.Clone: TB;
+var
+ b: TB;
+ b := Create;
+ writeln(integer(b));
+ writeln(integer(self));
+ Result := b;
+ aa,aa2: TB;
+ aa := TB.Create;
+ aa2 := aa.Clone;
+end.
@@ -0,0 +1,10 @@
+{ Source provided for Free Pascal Bug Report 3666 }
+{ Submitted by "marco" on 2005-02-17 }
+{ e-mail: }
+Type
+ otherset = ( bla =5, bla2=9,bla3=bla+bla2);