Thanks for the reply. I was recently involved in the arrangement of an company internal course and provided the exercises. When I finally came around to making up sample solutions I came around this compiler bug. I have not programmed actively in Ada95 and was hence a bit uncertain about the validity of the example, but couldn't find what was wrong. Thanks for re-erecting my "view-of-the-world"! Daniel PS! I'm running gnat-3.11p in WinNT 4.0, servicepack 3 DS. -----Ursprungligt meddelande----- Fran: Corey Minyard [SMTP:[log in to unmask]] Skickat: Tuesday, May 11, 1999 6:30 AM Till: [log in to unmask] Kopia: Daniel Wengelin Amne: bug in assignment of controlled type by ancestor This seems to be a rather serious bug in at least gnat-3.11p, gnat-3.11b, and gnat-3.10p. This is rather strange that it hasn't been caught yet, I'm not really sure why it hasn't been seen. Daniel reported it to Team-Ada, I've taken the liberty to report it to ACT. Anyway, the following program raises a Program Error when run. It should produce no output. I've debugged it some under gnat-3.11p. It seems that in e1__vehicle___assign, the assigned variable is copied to the assignee, including the value of My_Address in type Record_Controller in System.Finalization_Implementation. Then the value of My_Address is then used in the Ptr_Adjust routine of the Adjust routine of the same package, but it is obviously bogus. Daniel, the program is correct. [Daniel Wengelin] SNIP